2013-05-01 3 views
0

Я сусло Баш скрипт, он выглядит следующим образом:

#!/bin/bash 
D=`zenity --entry --entry-text='Folder'` 
pattern1=`zenity --entry --entry-text='replace'` 
pattern2=`zenity --entry --entry-text='by'` 
cd "$D" 
rename "s/$pattern1/$pattern2/g" * 
zenity --info --text="Done" 

это работает очень хорошо.
добавить его в папку наутилуса scrips (~/.gnome2/Nautilus-скриптов),
и я внести некоторые изменения:

#!/bin/bash 
pattern1=`zenity --entry --entry-text='replace'` 
if [ "$?" -eq 1 ] 
then 
    exit 
fi 
pattern2=`zenity --entry --entry-text='by'` 
if [ "$?" -eq 1 ] 
then 
    exit 
fi 
rename "s/$pattern1/$pattern2/g" \'$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS\' 
zenity --info --text="Done" 

, но он не работает.
Я надеюсь, что я нахожу помощь
заранее.

+0

вопрос является в названии: Как я могу использовать $ NAUTILUS_SCRIPT_SELECTED_FILE_PATHS Я пробовал, как вы можете видеть в скрипте, но он не работает извините, вам не понравилось это предложение – Learner

ответ

0

Проблема решена двумя способами. первый:

используя цикл:

#!/bin/bash 
pattern1=`zenity --entry --entry-text='replace'` 
if [ "$?" -eq 1 ] 
then 
    exit 
fi 
pattern2=`zenity --entry --entry-text='by'` 
if [ "$?" -eq 1 ] 
then 
    exit 
fi 
for file in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS 
    do 
    rename "s/$motif1/$motif2/g" "$file" 
done 
zenity --info --text="Done" 

второй: используя время цикла:

#!/bin/bash 
pattern1=`zenity --entry --entry-text='replace'` 
if [ "$?" -eq 1 ] 
then 
    exit 
fi 
pattern2=`zenity --entry --entry-text='by'` 
if [ "$?" -eq 1 ] 
then 
    exit 
fi 
echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS | while read 'file' 
do 
    rename "s/$motif1/$motif2/g" "$file" 
done 
zenity --info --text="Done" 

теперь вопрос поэтому я должен сделать это
и ответ заключается в том, что $ NAUTILUS_SCRIPT_SELECTED_FILE_PATHS - это последовательность
, даже если выбран один файл, мы найдем в $ NAUTILUS_SCRIPT_SELECTED_FILE_PATHS f Ile выбранный путь и разделитель
вы можете увидеть, что с помощью этого COMMANDE: (добавьте его в сценарий)

zenity --entry --entry-text="$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" 

Я надеюсь, что это может быть полезным для кого-то
Inspired by that

 Смежные вопросы

  • Нет связанных вопросов^_^