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

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

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

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

Есть идеи, как решить эту проблему?

решение1

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

Итак, правильная команда:

sudo chown $USER /usr/local/src

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

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

решение2

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

sudo chown tejas /usr/local/src

Это связано с тем, что $перед «именем» подразумевается имя переменной, которую следует разыменовать, то есть заменить на значение, хранящееся в ней. USER— это переменная среды, которая содержит ваше имя пользователя.

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

Связанный контент