Как использовать изменить каталог в zenity?

как использовать команду cd для смены каталога в zenity, мой простой скрипт подобен этому

#!/bin/bash    
a=`zenity --entry --entry-text="input directory name"`
cd $a

, но когда cd [команда cd (ChangeDirectory) изменится с вашего текущего каталога на любой указанный вами каталог ] команда изменилась на rmdir / mkdir, ее работа безупречна ..

, пожалуйста, помогите мне ..

1
задан 8 June 2013 в 18:39

1 ответ

cd работает, но это только влияет на процесс Вашего сценария, не оболочку, от которой Вы запустили скрипт. Несколько подходов использовались для работы вокруг этого в прошлом, но лучший прямо сейчас должен, вероятно, использовать функцию оболочки вместо отдельного сценария, так как функция оболочки будет работать в исходной оболочке вместо отдельного процесса.

В этом выполнили бы Ваш ~/.profile:

cdprompt()
{
    cd $(zenity --entry --entry-text="input directory name")
}

Если Вы затем запускаете новую оболочку и работаете cdprompt, это должно показать подсказку zenity и изменение в каталоге, который Вы вводите как ожидалось.

Если Вы действительно хотите, чтобы команды жили в отдельном файле, другая опция к source файл вместо того, чтобы выполнить его:

source newdir.sh

или

. newdir.sh

Это говорит bash выполнять команды в файле в Вашем текущем процессе вместо того, чтобы запустить новый. Это обычно используется, чтобы загрузить конфигурацию, а не запустить программы, но это должно работать на это также.

1
ответ дан 8 June 2013 в 18:39

Другие вопросы по тегам:

Похожие вопросы: