как использовать команду cd для смены каталога в zenity, мой простой скрипт подобен этому
#!/bin/bash
a=`zenity --entry --entry-text="input directory name"`
cd $a
, но когда cd [команда cd (ChangeDirectory) изменится с вашего текущего каталога на любой указанный вами каталог ] команда изменилась на rmdir / mkdir, ее работа безупречна ..
, пожалуйста, помогите мне ..
cd
работает, но это только влияет на процесс Вашего сценария, не оболочку, от которой Вы запустили скрипт. Несколько подходов использовались для работы вокруг этого в прошлом, но лучший прямо сейчас должен, вероятно, использовать функцию оболочки вместо отдельного сценария, так как функция оболочки будет работать в исходной оболочке вместо отдельного процесса.
В этом выполнили бы Ваш ~/.profile
:
cdprompt()
{
cd $(zenity --entry --entry-text="input directory name")
}
Если Вы затем запускаете новую оболочку и работаете cdprompt
, это должно показать подсказку zenity и изменение в каталоге, который Вы вводите как ожидалось.
Если Вы действительно хотите, чтобы команды жили в отдельном файле, другая опция к source
файл вместо того, чтобы выполнить его:
source newdir.sh
или
. newdir.sh
Это говорит bash
выполнять команды в файле в Вашем текущем процессе вместо того, чтобы запустить новый. Это обычно используется, чтобы загрузить конфигурацию, а не запустить программы, но это должно работать на это также.