“ bash-c”是做什么的?

我遵循以下教程: http://davidtsadler.com/archives/2012/06/03/how-to-install-magento-on-ubuntu/

在某个时刻,它告诉我执行以下命令:

sudo bash -c "cat >> /etc/apache2/sites-available/magento-store.com <<EOF
<VirtualHost *:80>


ServerName  localhost.magento-store.com
ServerAlias www.localhost.magento-store.com


DocumentRoot /home/dev/public_html/magento-store.com/public


LogLevel warn
ErrorLog  /home/dev/public_html/magento-store.com/log/error.log
CustomLog /home/dev/public_html/magento-store.com/log/access.log combined


</VirtualHost>
EOF"

这个命令做了什么,我怎样才能取消它?

我重新启动了计算机,它似乎还在运行。我在 .bashrc.profile里面找了,但是没有找到。

132156 次浏览

引自 man bash:

- c string 如果有-c 选项,则读取命令 来自绳子。
如果字符串后面有参数,则将它们分配给位置参数,从 $0开始。

您引用的命令将把 herdoc 中的文本(即 VirtualHost标记中的文本)转换为文件 /etc/apache2/sites-available/magento-store.com

Bash (例如 man bash)的手册页指出,-c选项执行来自字符串的命令; 也就是说,引号中的所有内容。

检查手册页,无论是在您的机器上还是在互联网上,如 这个

语录:

-c string
If the -c option is present, then commands are read from string.
If there are arguments after the string, they are assigned to the positional
parameters, starting with $0.