/bin/sh: 1:语法错误:使用基本名称时未终止的引号字符串

/bin/sh: 1:语法错误:使用基本名称时未终止的引号字符串

代码示例: my PWD = /aa/bb/cc/dd

dir= `dirname "$(PWD)"`
output = `basename "${dir}"`

dir 变量正确输出:/aa/bb/cc

所需输出变量:cc

我收到的错误:/bin/sh: 1: Syntax error: Unterminated quoted string

我尝试过不同的引号组合和其他类似建议的解决方案:https://stackoverflow.com/questions/22401091/bash-variable-substitution-vs-dirname-and-basename/22402242https://unix.stackexchange.com/questions/253524/dirname-and-basename-vs-parameter-expansion

答案1

下面的代码对我有用:

dir1=`dirname "$PWD"`
output=`basename "$dir1"`

答案2

而不是"$(PWD)",你会想要"${PWD}"。前者尝试执行命令 PWD ,后者扩展为变量 PWD 的值。

相关内容