AIXスクリプトを使用してこれを正しく書き込むにはどうすればよいですか?私の要件は、このコマンドをtest.txtに書き込むことです:
clock=$(prtconf -s | awk '{print $4,$5}')
このコマンドを試しました:
print 'clock=$(prtconf -s | awk '{print $4,$5}')' > test.txt
test.txtで記述された出力は私に与えます:
clock=$(prtconf -s | awk {print ,})
" "
を使用する場合 引用符:
print "clock=$(prtconf -s | awk '{print $4,$5}')"
それは私に直接与えます:
clock=3612 MHz
どうすればこれを解決できますか?
承認された回答:
一重引用符を使い続ける必要がありますが、必要なものを「別々に」出力に出力するか、二重引用符を使用してドル記号をエスケープする必要があります。
2番目のオプションの場合:
print "clock=$(prtconf -s | awk '{print $4,$5}')" > test.txt
はじめに:
print 'clock=$(prtconf -s | awk '''{print $4,$5}''')' > test.txt
(それは'text'
次に、一重引用符をエスケープしました'
次に'other text'
。)
完全を期すために、print
に注意してください。 バックスラッシュ文字のエスケープシーケンスを展開します(印刷する文字列にはバックスラッシュが含まれていないため、これは問題ではありません)。これを回避するには、print -r
を使用します 。