Что происходит с данными раздела подкачки Linux при запуске Windows через двойную загрузку

Вы пытаетесь изменить содержимое /opt/Folder на ваш собственный userid, не так ли.

Вот ваша команда еще раз:

sudo chown -R $USER:$USER /opt/Folder

Это работает из командной строки, потому что переменная $USER оценивается до выполнения команды, и поэтому она выполняется в таком виде (предполагая, что ваше имя пользователя george):

sudo chown -R george:george /opt/Folder

С другой стороны, когда вы выполняете команду с sudo, помимо всего прочего, переменная $USER принимает значение целевого пользователя, которым в данном случае является root. Таким образом, выполняя sudo bash mysetup.sh, вы запускаете mysetup. sh от имени root, поэтому команда выполняется с $USER, установленным в root, и оценивается следующим образом

sudo chown -R root:root /opt/Folder

Решение в вашем случае - избегать запуска всего скрипта под sudo, и позволить скрипту использовать sudo там, где это необходимо для запуска определенных команд с повышенными привилегиями. Другими словами, используйте bash mysetup.sh вместо sudo bash mysetup.sh.

3
07.11.2015, 00:40
0 ответов

Теги

Похожие вопросы