$ sudo -iu abc ls -ltr /sites/servers/server_instance/logs/access*
ls: cannot access /sites/servers/server_instance/logs/access*: No such file or directory
$ sudo -iu abc ls -ltr /sites/servers/server_instance/logs/
total 594812
-rwxrwxrwx 1 abc abc 45 Mar 21 12:42 old.log
-rwxrwxrwx 1 abc abc 304537970 Mar 24 12:45 console.log
-rwxrwxrwx 1 abc abc 304537970 Mar 24 13:20 access_nginx.log
Кто-нибудь может объяснить, почему это происходит? Я застрял в сценарии из-за этого.
command-line
bash
sudo
wildcards
Фейсал
источник
источник
ls
команду , которая может затем (когда изменение тождественногоsu
принял эффект) сделать скованность.ls
ничего не делает.sh -c
в командную строку.Возможно, у вас отключена глобализация.
Ищите что-то вроде
set -f
илиset -o noglob
перед этими строками в скрипте, или если в интерактивной оболочке запуститеecho $-
; еслиf
в выводе есть глобализация, то отключить:Чтобы это исправить, удалите
set -f
илиset -o noglob
из скрипта, или если в интерактивной оболочке запуститеset +f
илиset +o noglob
:источник
sudo -u abc /path/to/script
)? В этом случае шатание не должно провалиться. В любом случае, Муру предложил ответ на вопрос о пути, а не я. Вы должны рассмотреть вопрос о принятии его ответа ( askubuntu.com/help/accepted-answer ).