【发布时间】:2013-10-09 19:55:45
【问题描述】:
我知道这个问题已经被问过很多次了,但我仍然找不到任何好的解决方案。因此,再次询问是否有人可以提供帮助!
我正在尝试借助变量更改 shell 脚本中的工作目录。但我每次都得到" No such file or directory"。
#!/bin/bash
echo ${RED_INSTANCE_NAME} <-- This correctly displays the directory name
cd $RED_INSTANCE_NAME <-- This line gives the error
现在,当我尝试给出实际目录名称而不是使用变量时,shell 会毫无问题地更改目录
cd test <-- No error
有谁知道这可能是什么问题?请帮忙!!
【问题讨论】:
-
你是如何设置
RED_INSTANCE_NAME的值的? -
试试说
cd "${RED_INSTANCE_NAME}" -
如果您认为这个问题已经被问过,最好链接到那些类似的问题并解释为什么答案不适合您。
-
你可以像这样使用 echo 命令来查看 var 值中是否有其他字符: echo "'${RED_INSTANCE_NAME}'"
-
我还将
pwd添加到您的脚本中,以验证脚本是否认为它位于正确的目录中;也可能是ls -F。您所做的应该可以工作,因此它可能是目录名称中的空格、大小写混淆、前导/尾随空格(或其他不可打印的字符),或者脚本没有从您认为它运行的位置运行。