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]}/。。就足够了。。。