我想修改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 系统上,路径始终用斜杠 ( ) 分隔/
,不是反斜杠。