我的脚本有一行来衡量正在运行的进程的实例数
procs=$(pgrep -f luminati | wc -l);
但是,即使$procs
的内容是数字,shell脚本也不会将$procs
存储为整数。它存储为字符串。
因此我无法运行像
这样的条件 if $procs > 3
有没有办法将此变量转换为整数类型?
答案 0 :(得分:2)
应该是
if [[ "$procs" -gt 3 ]]
then
...
fi
答案 1 :(得分:2)
在bash >
中truncate
写入文件。您现在可能有一个名为3
的文件。您应该使用比较器-gt
:
if [[ "$procs" -gt 3 ]]; then
...
fi
此外,整数和字符串没有单独的类型。
编辑: 正如@chepner所解释的,对于POSIX兼容性,您应该使用单括号:
if [ "$procs" -gt 3 ];