Нифига не помогает #hostname. Дурацкая совместимость systemd и sysv - ни то, ни другое полноценно не работает. Возможно, в альте есть еще переменные кроме hostname и hostid?
Есть
echo $<Tab><Tab>
Учтите ещё такой момент:
при вызове bash как интерактивной или неинтерактивной оболочки, баш вычитывает и выполняет команды из /etc/profile если он существует, затем он последовательно ищет файлы ~/.bash_profile, ~/.bash_login и ~/.profile, читает и выполняет команды из первого же из них.
Т.о. получить/возвратить новое значение переменной $HOSTNAME можно ТОЛЬКО когда происходит вызов интерпетатора. В других случаях переменная $HOSTNAME возвратит старое значение имени хоста.
См. также --login в man bash
Пример (Х-терминал):
Текущее имя хоста
# hostname
zero.localdomain
Передать ядру новое имя хоста
# hostname blackhole.localdomain
Имя хоста возвращённое из ядра
$ hostname
blackhole.localdomain
Текущее содержимое переменной HOSTNAME
$ echo $HOSTNAME
zero.localdomain
Заставим баш выполнить команды в /etc/profile
$ bash --login
Выполнив команды /etc/profile, баш экспортировал переменную в которой находится имя хоста
$ grep -Hin hostname /etc/profile
/etc/profile:28:HOSTNAME=`/bin/hostname`
/etc/profile:31:export HOSTNAME HISTSIZE HISTFILESIZE
строка 28 -- получить имя хоста из ядра и полученное значение присвоить переменной HOSTNAME
строка 31 -- экспортировать переменные
$ echo $HOSTNAME
blackhole.localdomain
Также см. export в man bash на предмет выполнения export без параметров.
Если переменная экспортирована в окружения (декларирована), вы можете её использовать в окружении пользователя.
Например для быстрого возврата из текущего каталога, в каталог в котором вы находились в последний раз, - глубина вложения не имеет значения.
Например использование декларированной переменной OLDPWD, - этот метод позволяет в shell очень быстро перемещаться между двумя каталогами не используя длинные команды, .bash_history или файловые менеджеры для shell:
Полный путь к каталогу в котором находимся в текущий момент
$ echo $PWD
/home/user/systemd-sysvinit
В каком каталоге находились перед этим
$ export | grep OLDPWD
declare -x OLDPWD="/home/user"
Быстрый переход в каталог в котором находились последний предыдущий раз
$ cd $OLDPWD
Полный путь к каталогу в который вернулись и находимся
$ echo $PWD
/home/user
Теперь переменная OLDPWD содержит полный путь к каталогу в котором находились в последний раз
$ echo $OLDPWD
/home/user/systemd-sysvinit
alias и история команд позволят делать это ещё быстрее.
Алгоритм такой:
$ cd /usr/
$ cd /usr/share
$ export | grep OLDPWD
declare -x OLDPWD="/usr"
$ cd /usr/share/doc/
$ export | grep OLDPWD
declare -x OLDPWD="/usr/share"
$ cd $OLDPWD
$ pwd
/usr/share
$ export | grep OLDPWD
declare -x OLDPWD="/usr/share/doc"