-bash:意外标记“&”附近的语法错误

0 bash syntax

我收到这个错误

(-bash: syntax error near unexpected token `&' )
Run Code Online (Sandbox Code Playgroud)

当我运行以下命令时:

sudochown -hRfwebadmin:www-data /web/<repertoire>&&sudoln -s /web/<repertoire>
/var/www/html/<repertoire>&&sudochown -hRfwebadmin:www-data
/var/www/html/<repertoire>&&sudols -al /var/www/html/
Run Code Online (Sandbox Code Playgroud)

所以有人可以帮助这个命令行的语法有什么问题吗

ter*_*don 5

认为您要做的是运行以下命令:

sudo chown -hRf webadmin:www-data /web/repertoire &&
sudo ln -s /web/repertoire /var/www/html/repertoire &&
sudo chown -hRf webadmin:www-data /var/www/html/repertoire &&
sudo ls -al /var/www/html/
Run Code Online (Sandbox Code Playgroud)

&&意思是“只运行,如果前一个是成功的下一个命令。” 实际上并不需要这样。此外,第二个chown命令毫无意义。该目录/var/www/html/repertoire是一个链接,/web/repertoire并且由于您已经更改了目标的所有权,因此也没有必要为链接更改它。它已被更改(这是链接的重点)。所以,你真正想做的是:

sudo chown -hRf webadmin:www-data /web/repertoire 
sudo ln -s /web/repertoire /var/www/html/repertoire
sudo ls -al /var/www/html/
Run Code Online (Sandbox Code Playgroud)

  • @tsilokomail 如果此答案解决了您的问题,请花一点时间并单击左侧的复选标记 [接受](http://askubuntu.com/help/someone-answers)。这会将问题标记为已回答,并且是 Stack Exchange 站点上表达感谢的方式。 (2认同)