Перенаправление вывода из дисковых операций не работает

Вы вводите переменную напрямую, а затем оболочка интерпретирует то, что вы ввели как команду, и ищет записи в вашей переменной $PATH для команды с таким же именем. Поскольку в вашем $PATH нет записей с именем BASH и BASH _VERSINFO, вы получили сообщение об ошибке «команда не найдена». pwdи hostname, с другой стороны, являются допустимыми командами, как вы обнаружили.

Вместо этого вы должны ввести команду для печати переменных (, как правило, echoили printf, обе оболочки встроены -в ), и предоставить переменную, которую вы хотите проверить, в качестве аргумента команды. Обратите внимание, что имена команд часто полностью состоят из строчных букв, а переменные среды оболочки часто состоят только из прописных букв.

Чтобы отобразить значения переменных, которые вы упомянули, попробуйте что-то вроде следующего:

$ echo "$BASH"
/bin/bash
$ for i in {0..4}; do printf "%d\t%s\n" "$i" "${BASH_VERSINFO[$i]}"; done
0   4
1   4
2   12
3   1
4   release

Для печати переменных массива используется синтаксис «${ARR _NAME[$index]}». Индексы Bash основаны на 0 -. В общем, вы должны инкапсулировать переменные (, включая массивы ), в двойные кавычки, чтобы избежать нежелательного поведения (пропуск кавычек эквивалентен оператору разделения -glob, как описано здесь).

2
14.06.2021, 19:46
1 ответ

Это не вывод команды, это сообщения журнала ядра. Поскольку сообщения исходят не от команды, на них не влияет перенаправление.

Сообщения журнала ядра обычно помещаются в файлы журнала, а важные сообщения дополнительно отображаются на консоли. То, что именно означают «важно» и «консоль», зависит от конфигурации ведения журнала. Если вы используете sysklogd, файл конфигурации — /etc/syslog.conf. Если вы используете rsyslog, это /etc/rsyslog.confи /etc/rsyslog.d/*. Если вы используете встроенный -systemd для ведения журнала, это /etc/systemd/journal.conf. Ядро также может выводить журналы на консоль напрямую, минуя демон ведения журналов, который можно настроить с помощью dmesg --console-…(, но обычно это делается косвенно через конфигурацию демона ведения журналов ).

3
28.07.2021, 11:25

Теги

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