我正在尝试使用以下 1 liner bash shell 命令发出自定义错误消息。我没有设置“errorMessage”变量。但是,如果我单独运行命令,我可以将错误消息捕获到 $errorMessage 变量中。我错过了什么?
命令:
[ "errorMessage=$(mkdir -p /path/to/restricted/folder 2>&1)" ] && echo "Something Went Wrong; Error is: ${errorMessage}"
试验/输出:
$ [ "errorMessage=$(mkdir -p /path/to/restricted/folder 2>&1)" ] && echo "Something Went Wrong; Error is: ${errorMessage}"
Something Went Wrong; Error is:
$ echo $errorMessage
$ errorMessage=$(mkdir -p /path/to/restricted/folder 2>&1)
$ echo $errorMessage
mkdir: cannot create directory `/path': Permission denied