systemdおよびglibcバージョン2.17を使用してシステムを識別し、特定のコードセットを実行しようとしています。これは私が得たものですが、エラーが発生します
./testing.sh: line 4: [[UNIT: command not found
パスワード:
#!/bin/sh
glib=`ldd --version | awk '/ldd/{print $NF}'`
ver=2.17
if [[`systemctl`=~-\.mount && $glib '==' $ver ]];then
echo "I have to execute certain specific stuff to glib ver 2.17"
fi
ベストアンサー1
2つのテストフォームを使用したので、[[ ]]
次のようになります。強く打つ(またはksh)なので、次のようになります。
#!/bin/bash
glib=$(ldd --version | awk '/ldd/{print $NF}')
if [[ $glib == 2.17 ]] && systemctl | grep -q '\.mount'; then
echo "I have to execute certain specific stuff to glib ver 2.17"
fi
ノート
- 現代のシェルには使用されませ
$( )
ん。 [[
眼科の周りに空間を置く]]
- 正規表現の試みが最適です。grep