如何停止bash对字符串求值
我在脚本中有以下代码块来验证装载点是否为tmpfs如何停止bash对字符串求值,bash,shell,Bash,Shell,我在脚本中有以下代码块来验证装载点是否为tmpfs if [ "$(stat -f -c '%T' $LOGDIR)" -ne 'tmpfs' ] then echo "Log directory ($LOGDIR) must be tmpfs" exit 1 fi 问题是,如果文件系统以ext2/ext3的形式返回,那么shell将尝试对其进行求值,并以零除法结束。如何强制将其视为常规字符串?不要使用-ne算术运算符,请使用字符串运算符= 顺便问一下,您正在运行哪个版本的ba
if [ "$(stat -f -c '%T' $LOGDIR)" -ne 'tmpfs' ]
then
echo "Log directory ($LOGDIR) must be tmpfs"
exit 1
fi
问题是,如果文件系统以ext2/ext3的形式返回,那么shell将尝试对其进行求值,并以零除法结束。如何强制将其视为常规字符串?不要使用
-ne
算术运算符,请使用字符串运算符=代码>
顺便问一下,您正在运行哪个版本的bash
?我得到的是所需的整数表达式
不要使用-ne
算术运算符,请使用字符串运算符=代码>
顺便问一下,您正在运行哪个版本的bash
?我得到了所需的整数表达式
使用=代码>用于字符串比较<代码>-ne
仅用于整数比较。(事实上,我很惊讶它尝试使用“ext2/ext3”进行算术运算,而不是简单地将整个字符串视为零值。)使用=代码>用于字符串比较<代码>-ne
仅用于整数比较。(事实上,我很惊讶它尝试使用“ext2/ext3”进行算术运算,而不是简单地将整个字符串视为零值。)