我正在尝试使用bash: ./conf.sh dbu2 dbn2 pass2为我的网站生成一个配置文件
我的bash脚本:
#!/bin/bash
dbuser=$1
dbname=$2
dppass=$3
cat <<EOF > /var/www/mydomain.com/public_html/config.php
<?php
$DB='mysql';
$DBhost='localhost';
$DBname='$2';
$DBusr='$1';
$DBpwd='$3';
(...)
?>
EOF
(/var/www/mydomain.com/public_html/config.php):
<?php
='mysql';
='localhost';
='dbn2';
='dbu2';
='pass2';
应:<?php
$DB='mysql';
$DBhost='localhost';
$DBname='dbn2';
$DBusr='dbu2';
$DBpwd='pass2';
(...)
?>
建议吗?
谢谢大家
您需要转义您想要保留的变量名中的$
(为了防止变量展开):
cat <<EOF > /var/www/mydomain.com/public_html/config.php
<?php
'$DB='mysql';
'$DBhost='localhost';
'$DBname='$2';
'$DBusr='$1';
'$DBpwd='$3';
(...)
?>
EOF