我想为用户编写一个cript来设置安装路径。 我正在使用这个
read $file_path
cd $file_path
但它不会更改为该变量上保存的路径。 我怎么能准确设置这个,因为这似乎是错误的方式?
答案 0 :(得分:2)
read
不使用$
来读取变量。因此,它应该是
read file_path
cd $file_path
答案 1 :(得分:1)
在行之间略微阅读,我认为您正在尝试调用您希望更改调用者目录的脚本:例如:
的MyScript:
read file_path
cd "$file_path"
命令行:
./myscript
你发现它没有改变目录。那是因为您在子进程中运行脚本。它会更改子节点的当前目录,然后返回到不受影响的父节点。
您需要源该文件,即运行当前过程中的命令,而不是单独的命令:
. ./myscript
是的,请注意一下额外的'dot'.
。这通常称为source
命令,您可以在bash和csh上使用source
代替'dot'。