bashを使用して、オペレーティングシステムを検索し、ユーザーに通知したいと思います。私は試した:
OS='uname -s'
echo "$OS"
if [ "$OS" == 'Linux' ]; then
echo "Linux"
else
echo "Not Linux"
fi
私はただ得る
uname -s
Not Linux
ターミナルで、それは間違っています。文字列をunameが返すものに正しく設定するにはどうすればよいですか?
ありがとう
一重引用符ではなく、おそらくバッククォートを使用するつもりでした。
OS=`uname -s`
しかし、あなたは本当に欲しい
OS=$(uname -s)
また、最終的にif / elseシリーズになるifステートメントではなく、caseの使用を検討することもできます。
case $( uname -s ) in
Linux) echo Linux;;
*) echo other;;
esac
これにより、要求どおりに OS が返されuname
ます。必ずしもすべての OS で利用できるとは限らないため、この回答の一部ではありません。
case "$OSTYPE" in
linux*) echo "linux" ;;
darwin*) echo "mac" ;;
msys*) echo "windows" ;;
solaris*) echo "solaris" ;;
bsd*) echo "bsd" ;;
*) echo "unknown" ;;
esac