Bash 编写命令时出错
我使用以下代码获取当前文件的目录:Bash 编写命令时出错,bash,Bash,我使用以下代码获取当前文件的目录: dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" 我想在文件结构中降低一个级别 例如,如果我的文件位于: /a/b/c/myFile.sh 目录将是/a/b/c 我想去a/b 所以我运行这个命令: containingdir = "$( cd "$dir" && cd ".." && pwd )" 但是,我在定义命令的行上遇到了这个错误: myF
dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
我想在文件结构中降低一个级别
例如,如果我的文件位于:
/a/b/c/myFile.sh
目录将是/a/b/c
我想去a/b
所以我运行这个命令:
containingdir = "$( cd "$dir" && cd ".." && pwd )"
但是,我在定义命令的行上遇到了这个错误:
myFile.sh: line 13: containingdir: command not found
导致此错误的原因是什么?如果需要,只需使用两次:
reut@reut:~$ dirname $(dirname /a/b/c/myFile.sh)
/a/b
您说的是var=$command,请注意=。这是错误的,因为它尝试使用参数$command运行命令var。只需删除这些空格。可能containingdir=$readlink-f${BASH_SOURCE[0]}/。。就足够了。。。