我想为用户编写一个脚本来设置安装路径。我正在使用这个
read $file_path
cd $file_path
但它不会更改为保存在该变量上的路径。我该如何设置它,因为这似乎是错误的方式?
read
不使用$
来读取变量。因此,应该是
read file_path
cd $file_path
字里行间有点阅读,我认为您正在尝试调用您希望更改调用者目录的脚本:例如:
脚本:
read file_path
cd "$file_path"
命令行:
./myscript
你发现它没有改变目录。那是因为您在子进程中运行脚本。它更改子目录的当前目录,然后返回不受影响的父目录。
您需要改为源文件,即在当前进程中运行命令,而不是单独的:
. ./myscript
是的,请注意开头的额外“点” .
。这通常称为source
命令,您可以source
在 bash 和 csh 上使用而不是 'dot'。