проблема во время компиляции

Я изучаю, как скомпилировать использование Вашего руководства CompilingEasyHowTo. Но как только я выполняю команду, показанную ниже в терминале, она показывает следующую ошибку:

tejas@tejas-AU909AA-ACJ-CQ3120IX:~$ sudo chown $tejas /usr/local/src
chown: missing operand after ‘/usr/local/src’

Какая-либо идея, как преодолеть эту проблему?

4
задан 9 September 2014 в 15:48

2 ответа

Вы не должны заменять $USER Вашим собственным именем для входа в систему сессии (tejas), поскольку эта переменная уже содержит "tejas".

, Таким образом, правильная команда для использования:

sudo chown $USER /usr/local/src

переменные $ENV, $LOGNAME, $MAIL, $TERM, $USER, и $USERNAME не являются Bash builtins. Они, однако, часто устанавливаются как переменные окружения в одном из Bash или файлов запуска входа в систему.

Источник: http://tldp.org/LDP/abs/html/internalvariables.html

2
ответ дан 17 November 2019 в 14:45

В то время как Вы не должны вручную заменять своим именем пользователя $USER, Вы можете, если Вам нравится. Просто необходимо поместить его вместо целого "слова" $USER, не просто USER. Таким образом, кончите $ в том, что Вы пишете:

sudo chown tejas /usr/local/src

Это вызвано тем, что $ прежде чем "имя" показывает, что это - название переменной и что переменная должна быть разыменована - то есть, заменена значением, сохраненным в нем. USER переменная среды, которая содержит Ваше имя пользователя.

Напротив, tejas (вероятно), не определяется (в смысле того, чтобы быть переменной, которой присвоили некоторое значение). В оболочке переменную, которая не определяется, рассматривают большинством способов, как он пусто - т.е. содержание пустого (т.е. нулевая длина) строка текста. Так $tejas не заменяется ничем и командой, которая на самом деле выполняется, sudo chown /usr/local/src, который не может работать.

2
ответ дан 17 November 2019 в 14:45

Другие вопросы по тегам:

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