0

私は C シェル スクリプト (.csh) の初心者です。次のスクリプトが正しく機能しない理由がわかりません。

set Version;
wmic /append: "$Version" wmic os get version;    #This prints: Version
                                                  6.1.7601
echo $Version;    #This does not print anything as $Version is empty
set subVersion = `echo $Version | awk '{print substr($0,2)}'`;
echo $subVersion;    #This does not print anything

スクリプトの何が問題なのか教えてください。ありがとうございました。

更新: 印刷されていたのは、実際には行ごとであり、そうでwmic /append: "$Version" wmic os get version;はなかったようecho $Version;です。問題は、wmic から変数に出力を取得する方法です$Version

4

2 に答える 2

0

テストできませんが、いくつかの代替手段があります。

`echo $Version | awk 'BEGIN {FS=".";} {print $1;}'`;

awk のフィールド分割機能を使用して、必要なものを取得します。awk は少しやり過ぎです:

set subVersion = ${Version:0:2}

も動作するはずです。

于 2013-04-26T07:09:59.563 に答える
0

次のコードは、出力を変数にキャッチするのに役立ちます。変数を使って何でもできるようになりました:

set Ver = `(wmic os get version)`;
echo $Ver;
于 2013-04-29T07:29:01.087 に答える