Linux perl和bash变量替换,使用十六进制字符和重复计数
是否可以在第二个perl命令中获得相同的输出?我找不到使用I作为重复计数的正确语法。必须转义内部双引号,并在shell中使用双引号进行变量扩展:Linux perl和bash变量替换,使用十六进制字符和重复计数,linux,bash,perl,command-line,Linux,Bash,Perl,Command Line,是否可以在第二个perl命令中获得相同的输出?我找不到使用I作为重复计数的正确语法。必须转义内部双引号,并在shell中使用双引号进行变量扩展: alex@d120432:~$ echo $0 bash alex@d120432:~$ perl -e 'print "\x41\x42\x43\x44\x0a"x2' ABCD ABCD alex@d120432:~$ i=2 alex@d120432:~$ echo $i 2 alex@d120432:~$ perl -e 'print "\x4
alex@d120432:~$ echo $0
bash
alex@d120432:~$ perl -e 'print "\x41\x42\x43\x44\x0a"x2'
ABCD
ABCD
alex@d120432:~$ i=2
alex@d120432:~$ echo $i
2
alex@d120432:~$ perl -e 'print "\x41\x42\x43\x44\x0a" x $i'
alex@d120432:~$
以下变体也可能起作用:
ABCD
ABCD
您必须转义内部双引号,并在shell中使用双引号进行变量扩展:
alex@d120432:~$ echo $0
bash
alex@d120432:~$ perl -e 'print "\x41\x42\x43\x44\x0a"x2'
ABCD
ABCD
alex@d120432:~$ i=2
alex@d120432:~$ echo $i
2
alex@d120432:~$ perl -e 'print "\x41\x42\x43\x44\x0a" x $i'
alex@d120432:~$
以下变体也可能起作用:
ABCD
ABCD
Perl使用双引号进行插值,就像shell一样,Perl提供qq{} {}分隔符可以是任意一对。使用这种结构可以消除在所描述的情况下转义引号字符的需要;例如:
perl -e 'print "\x41\x42\x43\x44\x0a" x '$i
Perl使用双引号进行插值,就像shell一样,Perl提供qq{} {}分隔符可以是任意一对。使用这种结构可以消除在所描述的情况下转义引号字符的需要;例如:
perl -e 'print "\x41\x42\x43\x44\x0a" x '$i
perl-e print\\x41\x42\x43\x44\x0a\x$i应该可以工作perl-e print\\x41\x42\x43\x44\x0a\x$i应该可以工作