Bash 错误 - 应为二元运算符
Bash error - binary operator expected
我正在尝试安装 PGI Compilers 2016,在 运行 install
文件之后
我得到一个错误:
binary operator expected
在线:
if test -d $DIR/install_components ; then
ShellCheck.net 表示 "add double quote to prevent globbing and word splitting" 什么意思。
但是整个安装套件非常大,所以我应该在无数地方添加引号还是有一些命令可以绕过它?
如果 $DIR
包含 spaces,命令将失败,因为变量将扩展为两个参数。
如果您知道 $DIR
永远不会包含 space,您可以安全地忽略它。最好是向包维护者报告问题。
请注意,这可能会对您的计算机造成非常有害的影响,假设您的脚本在某处确实如此:
rm $DIR
和$DIR="-rf /"
,那么这将执行著名的rm -rf /
我正在尝试安装 PGI Compilers 2016,在 运行 install
文件之后
我得到一个错误:
binary operator expected
在线:
if test -d $DIR/install_components ; then
ShellCheck.net 表示 "add double quote to prevent globbing and word splitting" 什么意思。
但是整个安装套件非常大,所以我应该在无数地方添加引号还是有一些命令可以绕过它?
如果 $DIR
包含 spaces,命令将失败,因为变量将扩展为两个参数。
如果您知道 $DIR
永远不会包含 space,您可以安全地忽略它。最好是向包维护者报告问题。
请注意,这可能会对您的计算机造成非常有害的影响,假设您的脚本在某处确实如此:
rm $DIR
和$DIR="-rf /"
,那么这将执行著名的rm -rf /