Не могли бы вы объяснить код ниже? Что означает $*
\
||
, eval
и "\;
?
Ниже приведены функции
Initialization_variables
error_message
quit_error_chk
Initialization_variables $* \
|| eval error_message "Error in Initialization_variables function ..."\
; quit_error_chk 1
решение1
Как упоминалось в комментариях, символы в основном можно найти, заглянув man sh
и поискав эти символы. Вот краткое изложение:
$*
расширяется до параметров командной строки, переданных скрипту
\
экранирует следующий символ от интерпретации оболочкой, в этих случаях он продолжает текущую командную строку на следующую строку.
||
— это оператор оболочки «или». Команда после ||
будет выполнена только в том случае, если команда перед ||
не удалась.
eval
Объедините все аргументы пробелами. Затем выполните повторный анализ и выполните команду. Похоже, что у нее нет причин быть в этом скрипте.
"\
На самом деле не связаны друг с другом. Кавычка завершает предыдущую литеральную строку, обратная косая черта продолжает команду на следующей строке.
man sh
Для получения более подробной информации и правильного использования этих функций обратитесь к нам .