如何使用 cd 命令在 zenity 中更改目录,我的简单脚本如下
#!/bin/bash
a=`zenity --entry --entry-text="input directory name"`
cd $a
但是,当 cd [cd(ChangeDirectory)命令将从当前目录更改为您指定的任何目录] 命令更改为 rmdir/mkdir 时,它的工作很完美。
请帮我..
答案1
可以cd
正常工作,但它只会影响脚本的进程,而不会影响运行脚本的 shell。过去曾使用过几种方法来解决此问题,但目前最好的方法可能是使用 shell 函数而不是单独的脚本,因为 shell 函数将在您的原始 shell 中运行,而不是在单独的进程中运行。
这将在您的~/.profile
:
cdprompt()
{
cd $(zenity --entry --entry-text="input directory name")
}
如果您随后启动一个新 shell 并运行cdprompt
,它应该会显示 zenity 提示符并按预期更改到您输入的目录。
如果您确实希望命令位于单独的文件中,则另一个选择是使用source
该文件而不是运行它:
source newdir.sh
或者
. newdir.sh
这告诉bash
您在当前进程中运行文件中的命令,而不是启动新进程。它通常用于加载配置而不是运行程序,但它也适用于此。