2

Solarisで作業しており、無効になっているサービスをオンにするスクリプトで作業しています。出力ファイルは次のとおりです。

disabled        7:22:05 svc:/network/bla-bla:default
online         Jun_14   svc:/network/blu-blu:default

コードでこれを解析し、nawk自体を使用して無効なコードをオンにします

これが私が試したものですが、何らかの理由で機能しません:

cat output | nawk '/disabled/ {system(svcadm enable $3)}'

これがそれが与える出力です:

**sh: line 1: svc:/network/bla-bla:default: not found** 

私が必要とする出力cat output |grep bl*は次のとおりです。

online        7:22:05 svc:/network/bla-bla:default
online         Jun_14   svc:/network/blu-blu:default

なぜこれが起こるのか、そしてこのnawkを機能させる方法を誰かが私に説明できますか?私が欲しいのは

svcadm enable svc:/network/bla-bla:default

実行されます。

4

1 に答える 1

1

値のない変数名として扱わsvcadmれているためです。試す

 nawk '{system("svcadm enable " $3)}'

(申し訳ありませんが、私はnawkプログラムとして-今修正されたことを意味しました。)

于 2011-06-22T20:46:57.237 に答える