bash: 无法 trim 路径 "dirname" - 路径是一个目录

bash: unable to trim path with "dirname" - path is a directory

根据dirname --help,命令dirname /usr/bin/sort会输出/usr/bin

所以我尝试了这个:

  1 #!/bin/bash
  2
  3 rawPath=""
  4 trimmed=dirname $rawPath
  5 echo $trimmed

和运行脚本:

 bash ./trimPath.sh /files/data/swx_i/raw/2020/03

输出:

./trimPath.sh: line 5: /files/data/swx_i/raw/2020/03: is a directory

是因为我把路径存在变量里还是别的什么?

GNU bash,版本 4.1.2(2)-release (x86_64-redhat-linux-gnu)

这一行:

trimmed=dirname $rawPath

会暂时将trimmed环境变量设置为dirname然后尝试运行$rawPath这就是它所抱怨的,事实上您正试图运行目录。

如果你想将该命令的输出放在一个变量中,你会看到类似这样的东西:

trimmed="$(dirname "$rawPath")"