'/var/www/cgi-bin/php-cgi-6ren">
gpt4 book ai didi

php - 生成 shell 脚本时如何转义 shebang 行

转载 作者:行者123 更新时间:2023-11-29 09:44:57 25 4
gpt4 key购买 nike

我正在从脚本中生成一个 shell 脚本,它需要 root 权限,所以我使用

sudo bash -c "echo 'Hello There!' > '/var/www/cgi-bin/php-cgi-5.3.8'"

如果我尝试输出 shebang 行并且我不确定如何转义它,我会收到错误消息——就像我处理其他变量一样。

sudo bash -c "echo '#!/bin/bash

version=\"5.3.8\"
export PHPRC=/etc/php/phpfarm/inst/php-\${version}/lib/php.ini
export PHP_FCGI_CHILDREN=3
export PHP_FCGI_MAX_REQUESTS=5000
exec /etc/php/phpfarm/inst/php-\${version}/bin/php-cgi' > '/var/www/cgi-bin/php-cgi-5.3.8'"

我哪里出错了?

最佳答案

! 正在您的 bash_history 中寻找以 ' 开头的命令。你应该有'!'不加引号并用反斜杠转义。您也可以将 # 从引号中取出并转义它,因为 \ 比两个引号短。

sudo bash -c "echo \#\!'/bin/bash

version=\"5.3.8\"
export PHPRC=/etc/php/phpfarm/inst/php-\${version}/lib/php.ini
export PHP_FCGI_CHILDREN=3
export PHP_FCGI_MAX_REQUESTS=5000
exec /etc/php/phpfarm/inst/php-\${version}/bin/php-cgi' > '/var/www/cgi-bin/php-cgi-5.3.8'"

关于php - 生成 shell 脚本时如何转义 shebang 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10485483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com