0

私は Bash スクリプトを書いていますが、スタイルを良くするために 80 文字に短縮したい非常に長い grep コマンドがいくつかあります。これが私が今働いているものです

omR_pdisk="omreport storage pdisk controller=0";
${omR_pdisk} vdisk="$vdisk_id" | grep ^Vendor ID | sed 's,.* : ,,g' >> "$results"

その 2 行目を 80 文字にする必要があります。これまでにいくつかのことを試しましたが、エラーが発生し続けます。私は次のことを試しました

${omR_pdisk} vdisk="$vdisk_id" | 
grep ^Vendor ID | 
sed 's,.* : ,,g' >> "$results"

そして、私はこれを試しました

${omR_pdisk} vdisk="$vdisk_id" \
| grep ^Vendor ID \
| sed 's,.* : ,,g' >> "$results"

私も試しました

getVendorID="grep ^Vendor ID | sed 's,.* : ,,g'"
${omR_pdisk} vdisk="$vdisk_id" | "$getVendorID" >> "$results"

これらのどれも機能していません。どんな助けでも大歓迎です

4

1 に答える 1

0

コマンド ラインはバック スラッシュで区切ることができますが、最初に継続を示す演算子を挿入する必要があります。たとえば、これはうまくいくはずです:

${omR_pdisk} vdisk="$vdisk_id" | \
    grep ^Vendor ID | \
    sed 's,.* : ,,g' >> "$results"

(少なくとも構文。コードが実際に何をするかはわかりません。)

于 2014-09-15T20:53:40.927 に答える