こんにちは、私はbashスクリプトの新機能です。ちょうどこの単純なプログラムを書いたが、それは間違いを投げている。bashでの文字列比較が機能していません
#!/bin/bash
os=`uname -o`
echo $os
if ["$os"=="GNU/Linux"] ; then
echo "Linux"
else
echo "Windows"
fi
使い方==または-eqは両方のケースのために私は次のエラーを取得していますし、それは他のcondnを印刷しています。
./ostype.sh:3行目:[GNU/Linuxの== GNU/Linuxの]:そのようなファイルやディレクトリはありません
のWindows
バッシュバージョン:GNUのbashの、バージョン3.2 .48(1)-release(x86_64-suse-linux-gnu)
この質問はすでにこのリンクを参照して、回答されている[1] [1]:http://stackoverflow.com/questions/394230/detect-the-os-from-a-bash-script – mana
付き適切な間隔 '='と '=='は両方とも文字列を比較するために働くべきです。 '-eq'は整数比較です。 – Hennes