【发布时间】:2018-05-20 12:43:49
【问题描述】:
我的脚本中有以下命令集:
message="Secure copying file $remoteHost"
backupLogOutput "Info $message"
$(scp "$file" "$remoteUser"@"$remoteHost":"$remotePath") >> "$BACKUPLOG"
backupErrorHandler "$?" "$message"
ShellCheck 在 scp 行 (3) 上给我警告:
删除周围的 $() 以避免执行输出。 [SC2091]
脚本有效。我确实想执行输出。我应该忽略这个警告还是应该以不同的方式编写 scp 行?
【问题讨论】:
-
cmets 防止执行任意输出,实际上
$(..)之间的命令就像在反引号之间,它被扩展为输出,然后shell 将这个输出分成命令和参数,试试$(echo "/bin/ls -l")
标签: bash shellcheck