在我正在运行的一个小 bash 脚本中,我试图创建一个新目录。我已经添加:
sudo chown $USER:$USER /var/www/$sitename
sudo chmod 775 /var/www/$sitename
Run Code Online (Sandbox Code Playgroud)
在我 mkdir ( sudo mkdir /var/www/$sitename)所在的行之后。
由于某种原因,chown 没有执行。我可以手动执行它,但是当写入文件时它不起作用。我注意到“chown”没有以与“mkdir”和“chmod”相同的颜色突出显示,但我无法弄清楚我的问题。
为什么 chown 不在这里工作?
有问题$USER:$USER吗?
编辑 这是完整的脚本。我如何将文件 chown 给执行脚本的任何非 root 用户?
#!/bin/sh
#!/bin/bash
# New Site
cd /etc/apache2/sites-available/
echo "New site name (test.my):"
read sitename
echo "<VirtualHost *:80>
ServerAdmin admin@$sitename
ServerName $sitename
ServerAlias $sitename
DocumentRoot /var/www/$sitename
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/$sitename>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log …Run Code Online (Sandbox Code Playgroud)