linux 使用shell判断系统位数

本文讨论了在Bash脚本中,为何推荐使用`[[...]]`双括号条件语句而非`[...]`单括号,尤其是在处理`LINUX_32_64`变量判断32位和64位系统时,避免了wordsplitting和pathnameexpansion的问题。
摘要由CSDN通过智能技术生成
LINUX_32_64= getconf LONG_BIT
echo $LINUX_32_64


  if [[ 32 -eq $LINUX_32_64 ]] ;then
    echo "x32"
  else
    echo "x64"
  fi


platform=`uname -m`
echo $platform
if [[ $platform=="x86_64" ]]
then
        echo 64
else
        echo 32
fi



#ldconfig
if [ $(getconf WORD_BIT) = '32' ] && [ $(getconf LONG_BIT) = '64' ] ; then
   echo "x64"
else
   echo "x32"
fi

老铁们,为什么前两个if 使用了双括号?

单括号报错:

[: 32: unary operator expected

If you know you're always going to use Bash, it's much easier to always use the double bracket conditional compound command [[ ... ]], instead of the POSIX-compatible single bracket version [ ... ]. Inside a [[ ... ]] compound, word-splitting and pathname expansion are not applied to words, so you can rely on

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值