1

シェルスクリプトプログラミングは初めてです。システムにインストールされている ubuntu のバージョンを確認するための簡単なシェル スクリプトを作成したいと考えています。バージョンがバージョン 12 以上の場合はいくつかのファイルをコピーし、バージョン 12 未満の場合は他のファイルをコピーします。

4

3 に答える 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.net2番目のフィールドがバージョン番号である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 に答える