![](/img/trans.png)
[英]Bash Script with sed Command is working on terminal but not with a php script
[英]Certain Sed Substitution Not Working In Bash Script
我有一個腳本,可以做相當多的sed
替換,並且所有工作都可以禁止這一行。
奇怪的是,當我只在終端上正常運行它時,它就可以正常工作。
我要替換的代碼是此塊的一部分:
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
特別是這一行: fastcgi_pass unix:/var/run/php-fpm.sock;
我想改變。
這是我用來替代它的代碼:
sed -i "s#fastcgi_pass unix:/var/run/php-fpm.sock;#fastcgi_pass unix:/var/run/php7.0-fpm.sock;#" /etc/nginx/sites-available/lemp-stack.app
由於某種原因,它不能替代。
有人有什么想法嗎?
謝謝。
如果是這種情況,在pass
和unix
之間可能會有一個制表符而不是空格,這應該可以工作:
sed "s#fastcgi_pass[ \t]unix:/var/run/php-fpm.sock;#fastcgi_pass unix:/var/run/php7.0-fpm.sock;#"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.