我终于找出了问题的原因
该代码适用于dateRecent='2011 年\r\n 7 月 25 日'
#!/bin/bash
cp /var/www/html/INFOSEC/textonly/sc_chi/anti/recent.html /var/www/html/INFOSEC/textonly/sc_chi/anti/recent.test.html
dateRecent='2011 年\r\n 7 月 25 日'
title=test
web=http:a.com
#Add Phishing attack in recent.html
sed -i '0,/<li>/ { s/<li>/<li><a href="'"$web"'" target="_blank">'"$dateRecent"' - '"$title"'<\/a><\/li>\r\n <li>/ }' /var/www/html/INFOSEC/textonly/sc_chi/anti/recent.test.html
但是,dateRecent是一个变量和用户输入,我不能手动添加''引用。
#!/bin/bash
cp /var/www/html/INFOSEC/textonly/sc_chi/anti/recent.html /var/www/html/INFOSEC/textonly/sc_chi/anti/recent.test.html
echo "enter date"
read -e date <== it should be something like 2011 年 7 月 25 日
dateRecent=$(sed 's/ 年/ 年\r\n/g' <<< $date)
title=test
web=http:a.com
#Add Phishing attack in recent.html
sed -i '0,/<li>/ { s/<li>/<li><a href="'"$web"'" target="_blank">'"$dateRecent"' - '"$title"'<\/a><\/li>\r\n <li>/ }' /var/www/html/INFOSEC/textonly/sc_chi/anti/recent.test.html
所以,我尝试了dateRecent='$dateRecent'
和'"'$dateRecent'"'
但它只是不起作用,谢谢
我也发现,如果回显dateRecent
#!/bin/bash
cp /var/www/html/INFOSEC/textonly/sc_chi/anti/recent.html /var/www/html/INFOSEC/textonly/sc_chi/anti/recent.test.html
echo "enter date"
read -e date
dateRecent=$(sed 's/ 年/ 年\r\n/g' <<< $date)
echo $dateRecent
dateRecent='$dateRecent'
echo $dateRecent
title=test
web=http:a.com
#Add Phishing attack in recent.html
sed -i '0,/<li>/ { s/<li>/<li><a href="'"$web"'" target="_blank">'"$dateRecent"' - '"$title"'<\/a><\/li>\r\n <li>/ }' /var/www/html/INFOSEC/textonly/sc_chi/anti/recent.test.html
输入是2011年7月25日,但输出将是:
7 月 25 日
$dateRecent
答案 0 :(得分:0)
你试过这个吗?
...
dateRecent=$(sed 's/ 年/ 年\r\n/g' <<< $date)
dateRecent="\"$dateRecent\""
...