bash:无法使用"dirname"修剪路径 - 路径是目录



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

所以我试了这个:

1 #!/bin/bash
2
3 rawPath="${1}"
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, version 4.1.2(2)-release (x86_64-redhat-linux-gnu)

这一行:

trimmed=dirname $rawPath

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

如果您希望将该命令的输出放在变量中,则会看到以下内容:

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

相关内容

  • 没有找到相关文章

最新更新