Ubuntu - Пользователь root не может видеть, что переменная $JAVA_HOME расширена до $PATH [дубликат]

Necesitas

touch "${toto}hihi.log"

El problema es que el shell no puede saber sin las llaves cuántos caracteres forman parte del nombre de la variable. Por lo tanto, trata todos los caracteres legales como parte del nombre. En este caso eso es todo antes del .; es decir, el shell usa la variable no -existente $totohihi.

En general, ayuda usar la opción de shell -xpara ver qué está pasando:

set -x
touch "$totohihi.log"
    + touch.log
0
19.07.2018, 17:20
1 ответ

Насколько я знаю, вам не нужно помещать исходный код /etc/environmentв /etc/profile, потому что это не сценарий оболочки.

Он должен содержать только key=valueпары (без"). Кроме того, /etc/environmentне заменяет здесь переменные, подобные $JAVA_HOME.

/etc/environmentзагружается при загрузке, поэтому вам нужно перезагрузиться, и он будет доступен для всех пользователей.

В этой ссылке есть примечание, в котором конкретно говорится, что расширение переменных не работает в /etc/environment:

.

Note: Variable expansion does not work in /etc/environment.

0
28.01.2020, 04:17

Теги

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