bash printf + echo string

时间:2014-05-13 14:26:23

标签: bash printf echo

所以我正在尝试将字符串作为参数打印到终端中的程序。但是,我的命令似乎与我需要的字符串不匹配。我需要打印的字符串是:

aaaaa$'\x14\x84\x04\x08'

我的命令:

`printf 'a%.0s' {1..76}; echo "$'\x14\x84\x04\x08'"`

我只是犯了一个愚蠢的错误吗?

2 个答案:

答案 0 :(得分:3)

试试这个,

~$ printf %76s |tr " " "a"; echo "$'\x14\x84\x04\x08'"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa$'\x14\x84\x04\x08'

答案 1 :(得分:0)

¿有这样的东西吗?

 `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')