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
本文讨论了在Bash脚本中,为何推荐使用`[[...]]`双括号条件语句而非`[...]`单括号,尤其是在处理`LINUX_32_64`变量判断32位和64位系统时,避免了wordsplitting和pathnameexpansion的问题。
195

被折叠的 条评论
为什么被折叠?



