Shell
列印包含單引號和其他特殊字元的字元串
如何正確使用 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
我該如何解決這個問題?
您需要繼續使用單引號,然後“單獨”在輸出中列印出您需要的引號,或者使用雙引號並轉義美元符號。
對於第二個選項:
print "clock=\$(prtconf -s | awk '{print \$4,\$5}')" > test.txt
為了第一:
print 'clock=$(prtconf -s | awk '\''{print $4,$5}'\'')' > test.txt
(然後
'text'
轉義單引號。)\'``'other text'
為了完整起見,請注意
print -r
.