如何使用脚本创建任何文件并将内容放入其中

如何使用脚本创建任何文件并将内容放入其中

我想修改configure.sh以创建一个/etc/pam.d/XXX包含一些预定义内容的文件。

如何通过将文件的绝对路径和内容放入configure.sh 来做到这一点?

请解释一下语法。

答案1

另一种方法是使用此处的文档:

#!/bin/sh

cat > /etc/pam.d/XXX << 'EOF'
Place whatever
should go in
the file here
EOF

chown root:root /etc/pam.d/XXX  # Or whatever floats your boat
chmod u=r,go= /etc/pam.d/XXX    # Ditto

答案2

如果您已经拥有该内容,最好将其放入单独的文件中,然后cp将该install文件保存到\etc\pam.d\XXX.这样您就可以避免与 shell 脚本中的数据转义相关的任何问题。例如,创建一个只能由 root 读取的文件:

install --owner=root --group=root --mode='u=r' my_file /etc/pam.d/XXX

请注意,在 Unix 和 Linux 系统上,路径始终用斜杠 ( ) 分隔/不是反斜杠。

相关内容