我需要使用printf打印一个简单的脚本,并将输出重定向到文件,但当我这样做时:
顺便提一下,在这种情况下,文件中必须包含 #!/bin/bash。由于某种原因,执行脚本的二进制文件否则无法读取该文件。
printf "#!/bin/bash\ntouch /tmp/1234567890_$RUN" > /tmp/password-change-script_$RUN.sh
我遇到了这个错误:
bash: !/bin/bash\ntouch: 找不到事件
如果我转义感叹号:
printf "#\!/bin/bash\ntouch /tmp/1234567890_$RUN" > /tmp/password-change-script_$RUN.sh
然后转义字符仍然存在于文件中。
cat /tmp/password-change-script_$RUN.sh
#\!/bin/bash
touch /tmp/1234567890_111
顺便提一下,在这种情况下,文件中必须包含 #!/bin/bash。由于某种原因,执行脚本的二进制文件否则无法读取该文件。