所以我試圖打印一個字符串作爲參數在終端中的程序。但是,我的命令似乎不匹配我需要的字符串。我需要打印的字符串是:bash printf + echo string
aaaaa$'\x14\x84\x04\x08'
我的命令:
`printf 'a%.0s' {1..76}; echo "$'\x14\x84\x04\x08'"`
我只是做一個愚蠢的錯誤?
所以我試圖打印一個字符串作爲參數在終端中的程序。但是,我的命令似乎不匹配我需要的字符串。我需要打印的字符串是:bash printf + echo string
aaaaa$'\x14\x84\x04\x08'
我的命令:
`printf 'a%.0s' {1..76}; echo "$'\x14\x84\x04\x08'"`
我只是做一個愚蠢的錯誤?
¿像這樣的事情?
`printf "%76s"; echo "$'\x14\x84\x04\x08'"`
如果你要打印的十六進制字符:
`printf "%76s"; echo $'\x14\x84\x04\x08'`
建議使用美元符號和括號,而不是反引號:
$(printf "%76s"; echo "$'\x14\x84\x04\x08'")
或者
$(printf "%76s"; echo $'\x14\x84\x04\x08')
嘗試這樣,
~$ printf %76s |tr " " "a"; echo "$'\x14\x84\x04\x08'"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa$'\x14\x84\x04\x08'
您也可以省略'echo':'printf'%76s \ x14 \ x84 \ x04 \ x08'| tr ...'。 – chepner
你能解釋一下嗎? – Helio
在'echo'語句中使用'''...''時,雙引號禁止擴展。 – Helio