根据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,版本4.1.2(2)-release (x86_64-redhat-linux-gnu)
发布于 2020-05-05 23:48:27
这一行:
trimmed=dirname $rawPath将trimmed环境变量临时设置为dirname,然后尝试运行$rawPath。这就是它所抱怨的事实,就是你试图运行这个目录。
如果希望将该命令的输出放在变量中,则需要查看以下内容:
trimmed="$(dirname "$rawPath")"https://stackoverflow.com/questions/61624880
复制相似问题