
os_version=$(cat /etc/issue |grep Ubuntu)
if $os_version
then
echo found
else
echo notfound
fi
Ubuntu コンピューターで試してみると、./test:line 2: Ubuntu: command notfound notfound が表示されます。
これは私にとって効果的ですが、変数に割り当てたいと思います。
if cat /etc/issue |grep Ubuntu
then
echo found
else
echo notfound
fi
答え1
声明if
には次の内容が記載されています。注文する、終了ステータスを確認してください。$os_version
これをコマンドとして使用する方法は、それを拡張して結果のコマンドラインを実行することです。したがって、変数にが含まれている場合は、引数などで呼び出されたコマンドをUbuntu 18.04.1 LTS \n \l
実行しようとします。Ubuntu
18.04.1
LTS
使いたいかもしれません
if [ -n "$os_version" ]; then
...
fi
変数が空であることを確認します([ -n "$var" ]
空でない場合はtrue、[ -z "$var" ]
変数が空である場合はtrue)。
あるいは、編集のようにステートメント自体でそれを使用し、grep
そこに変数を設定することもできます。if
distro=unknown
if grep -q Ubuntu < /etc/issue; then
distro=ubuntu
fi
# ... later
if [ "$distro" = ubuntu ]; then
# do something Ubuntu-specific
fi
答え2
grep -q Ubuntu /etc/issue && echo found || echo not found