我的脚本有一行测量正在运行的进程的实例数procs=$(pgrep -f luminati | wc -l);
然而,即使 $procs
的内容是一个数字,shell 脚本不存储 $procs
作为整数。它被存储为一个字符串。
因此我不能运行条件if $procs > 3
有没有办法将此变量转换为整数类型?
最佳答案
在 bash >
是 truncate
写入文件。您可能有一个名为 3
的文件现在。您应该使用比较器 -gt
:
if [[ "$procs" -gt 3 ]]; then
...
fi
此外,整数和字符串没有单独的类型。
编辑:
正如@chepner 解释的那样,为了与 POSIX 兼容,您应该使用单括号:
if [ "$procs" -gt 3 ];
关于bash - 如何将shell脚本变量从字符串转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49614730/