Linxu中怎样使用echo输出#!/bin/bash

有的时候需要使用脚本输出一个shell文件,比如:

echo "#!/bin/bash \n /usr/bin/command args" > ./scripts.sh

这样执行之后就会出现下面的错误:

bash: !/bin/bash: event not found

这是因为echo下面用双引号的话无法解析!字符,可以使用单引号代替,如:

echo '#!/bin/bash \n /usr/bin/command args' > ./scripts.sh

如果脚本中使用到了环境变量或其他变量必须使用双引号的话,可以使用两条命令,第一条创建,后面的进行追加:

echo '#!/bin/bash \n /usr/bin/command args' > ./scripts.sh
echo "mkdir -p $PHP_ROOT" >> ./scripts.sh

注意,后面一条命令最后是两个大于号。

参考资料:
How to echo a bang!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注