bash - 将特殊字符回显到 bash 中的文件

标签 bash shell echo

我正在尝试制作一个脚本来帮助我将源代码移植到 debian 文件。

尝试编写 debian/rules 文件

~$ echo -e  "#!/usr/bin/make -f\n%:\n\tdh \$@" > debian/rules
bash: !/usr/bin/make: event not found

我认为 # 和 !正在搞砸这件事。如何在不让 shell 尝试执行它们的情况下回显字符串的这些组件?
我试过使用“#”和“!”但是我会得到确切的答案:“!”

我想要一个看起来完全像这样的规则文件:
#!/usr/bin/make -f
%:
    dh $@

我该怎么办?

最佳答案

!没有被双引号转义

'#!/usr/bin/make -f\n%:\n\tdh \'"$@"

应该没事。但是,请查看此处的文档:
cat <<MAKEFILE
#!/usr/bin/make -f
%:
    dh $@
MAKEFILE

关于bash - 将特殊字符回显到 bash 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27912158/

相关文章:

linux - 如何在没有root权限的情况下创建目录?

php - 在 javascript 中回显 php

bash - 在双引号内执行本地 bash 变量

linux - Grive 文件同步、压缩和密码保护

shell - Aptana 3 和 shell

macos - 如何在 OS X 下获取当前连接的 VPN 名称

unix - 如何在 shell 脚本中操作 $PATH 元素?

Docker COPY 没有这样的文件或目录

linux - 连接时自动检测 USB 设备名称

linux - 如何读取直到分隔符?