我正在编写一个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不存在
答案 0 :(得分:0)
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
收到两个参数,都无效。