Используя показанный $USER: $USER в колотят сценарий

Все, что необходимо сделать, установить virtualbox-guest-utils с pacman. Не делайте ничего больше. Даже не пытайтесь установить Гостя Virtualbox Utils из меню Virtualbox и не смонтировать ISO, тот метод работы со многими дистрибутивами, но не с ArchLinux.

Когда Вы сделали то, что сказано относительно моего первого предложения, сделайте то, что сказано относительно записи Wiki.

Дуга не имеет выпусков, она прокручивает выпуск, таким образом, неправильно сказать "с последним Archlinux". И возраст носителя установки ни на что не влияет, он просто предоставляет программы, которые применимы, в то время как установка, таким образом, не имеет значения при установке дуги с носителем установки с 2010. Вы добираетесь, те же версии программ установили Вашу заключительную установку дуги.

10
07.02.2015, 11:43
4 ответа

Если по каким-либо причинам $USER не установлен, вы можете использовать команду id для получения идентификационной информации о реальном пользователе. Таким образом, при первом использовании переменной $USER можно использовать расширение оболочки для получения значения по умолчанию. Измените строку chown в вашем скрипте на:

sudo chown ${USER:=$(/usr/bin/id -run)}:$USER /var/www/$sitename

Если USER пустая или неустановленная при выполнении, bash установит переменную USER на выход /usr/bin/id -run

8
27.01.2020, 20:01

Для того, чтобы упростить проблему, и поскольку вы получаете переменную sitename, почему бы вам не прочитать переменную имени пользователя?

С этим вы бы удостоверились, что выполнение сценария не зависит от переменных окружения, сделанных доступными так, как выполняется сценарий.

2
27.01.2020, 20:01

Я думаю, что здесь крошечная ошибка. sudo открывает новую оболочку для выполнения команды, и после sudo пользователь становится root. Так что, возможно, вам следует использовать что-то вроде этого:

MYUSER=$USER

sudo chown $MYUSER:$MYUSER

как я думаю, MYUSER не перезаписывается системно и будет работать.

0
27.01.2020, 20:01

Когда я вызываю свой скрипт с sudo , он устанавливает $ USER как root.

$ sudo ./myscript.sh

Я попробовал chown $ {USER: = $ (/ usr / bin / id -run)}: $ USER / var / www / $ sitename , но он все равно вернул root.

Я обнаружил, что если я использовал who с awk , я смог бы получить текущего пользователя, который вызвал сценарий с sudo .

currentuser=$(who | awk '{print $1}')}
chown -R $currentuser:$currentuser /var/www/$sitename`
3
27.01.2020, 20:01

Теги

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