在shell中使用路径的变量

时间:2013-08-19 09:14:09

标签: shell path cd

我想为用户编写一个cript来设置安装路径。 我正在使用这个

read $file_path
cd $file_path

但它不会更改为该变量上保存的路径。 我怎么能准确设置这个,因为这似乎是错误的方式?

2 个答案:

答案 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'。