В настоящее время sudo
переключает вашего пользователя на root, а в Debian по умолчанию он перезаписывает ваш $HOME
, поэтому он становится/root
:
$ sudo sh -c 'echo $HOME'
/root
Таким образом, предполагается, что $HOME/.gemrc
под root находится в /root/.gemrc
, и есть вероятность, что вы хотите, чтобы он взял файл из каталога вашего обычного пользователя.
Решение для тупой силы состоит в том, чтобы сделать что-то вроде
sudo ln -s /home/your_user_name/.gemrc /root/.gemrc
Чуть более сложное решение — отключить always_set_home
в /etc/sudoers
.
Другой вариант — использовать несколько сложный способ вызова sudo, например
sudo sh -c 'export HOME=/home/your_user_name; bundle install'
Обычно я пропускаю заказы, не являющиеся вопросами; но в этом случае вот именно то, что вы заказали , используя восьмеричный метод для ввода на TTY точной команды, которую я бы использовал.
$ printf '\151\156\163\164\141\154\154\040\055\144\040\055\155\040\060\065\065\060\040\164\145\163\164\056\164\170\164\012'
Момент, когда вы понимаете это самостоятельно, без дальнейших объяснений, является моментом, когда сценарии оболочки Unix становятся второй натурой. & #9786;
Если test.txt
является текстовым -файлом, вы не можете этого сделать. Если это произойдет, это будет каталог :
chmod 550 test.txt