シェルスクリプトプログラミングは初めてです。システムにインストールされている ubuntu のバージョンを確認するための簡単なシェル スクリプトを作成したいと考えています。バージョンがバージョン 12 以上の場合はいくつかのファイルをコピーし、バージョン 12 未満の場合は他のファイルをコピーします。
質問する
6354 次
3 に答える
21
このlsb_release -rs
コマンドを使用すると、Ubuntu のバージョンを特定できます。次のように使用できます。
if [[ $(lsb_release -rs) == "18.04" ]]; then # replace 8.04 by the number of release you want
echo "Compatible version"
#Copy your files here
else
echo "Non-compatible version"
fi
`` (バッククォートを囲む) は非 POSIX であり、非推奨です。
于 2012-09-22T15:32:50.387 に答える
2
cat /etc/issue.net | awk '{x=2 ; if (substr($x,0,3) == '12') {system("cp <src> <dest>") } else {system("cp <src> <dest>") }}'
cat /etc/issue.net
2番目のフィールドがバージョン番号である3つのフィールドが表示されます。
substr
最初の 2 桁がバージョン 12 であるかどうかを確認し、内部のシステム コマンドによって、awk
特定のファイルを特定の src から dest にコピーできます。
于 2012-09-22T20:08:30.680 に答える
0
解決策: cat /proc/version
、番号を解析し、アクションを実行するための条件/スイッチ ステートメントを実行します。
RadHat の ドキュメントから:
このファイルは、使用中の Linux カーネルと gcc のバージョン、およびシステムにインストールされている Red Hat Enterprise Linux のバージョンを指定します。
于 2020-07-14T13:49:02.613 に答える