我正在编写一个 shell 脚本,该脚本将通过使用函数多次导航到计算机上的指定目录,其中一个指定的目录有两个单词,因此包含空格。
我已经使用cd "$1"..
传入的参数。我也尝试cd "$@"
并实际用引号括起来的实际目录名称替换变量,但错误仍然存在。
function Navigate()
{
cd ~
cd "$1"
cd "$2"
cd "$3"
open $PWD
}
Navigate "Directory1" "Directory2" "Directory3"
我不断收到一条错误消息,显示找不到该目录。
示例:如果第二个目录名为 test directory
,则错误消息将显示:
/Users/Name/Directory1/test和/Users/Name/Directory1/test Directory/Directory3/Directory3 不存在
function Navigate()
{
cd ~
cd "$1"
cd "$2"
cd "$3"
open "$PWD"
}
如上所示,在$PWD
周围加上引号,它会正常工作。
当你说open $PWD
时,它会扩展到open first_word_of_dir_name second_word_of_dir_name
。这会导致open
得到两个参数,这两个参数都无效。