Как просмотреть справочник или шпаргалку по базовому синтаксису bash в терминале Linux?

Как просмотреть справочник или шпаргалку по базовому синтаксису bash в терминале Linux?

Каждый раз, когда мне нужно написать небольшой скрипт bash, включающий операторы if, проверку пустых переменных и несуществующих файлов и т. д., я ловлю себя на том, что ищу в Google какое-нибудь простое руководство или инструкцию по bash.

Зачастую они слишком длинные и сложные, чтобы быстро ответить на интересующий меня вопрос.

Итак, я подумал, что должна быть какая-то команда или страница руководства, которая охватывает базовый синтаксис bash (для вещей, таких как операторы if, проверки на пустые переменные, несуществующие файлы и т. д.) в краткой и доступной форме. Я уверен, что я просто не нашел команду (man bash, похоже, не подходит).

Где я могу это найти?

решение1

  • man bashявляется каноническим справочником Bash.
  • help helpдает вам справку по helpвстроенным функциям Bash и о том, как он выдает вам краткие справочные сообщения о других встроенных функциях Bash, таких как help for.
  • Вики Грега— лучшее место, где можно найти краткие, лаконичные и иногда даже занимательные справочные материалы практически по всем аспектам Bash.
  • Если вам нужен быстрый способ поиска синтаксиса, вы можетеконтроль версий.bash_history. Слишком много команд, различных синтаксисов параметров, sedшума awkна линии и прочего, чтобы когда-либо запомнить все это, поэтому приятно иметь «хорошо ухоженный» личный справочник стегичтобы посмотреть вверх.

решение2

Так как естьмного таких вещей в сети, вот вам предложение; я использую это для самых разных целей.

Создайте каталог $HOME/notes. Добавьте подпапку bash. Если у вас нет $HOME/bin, создайте ее и добавьте в свой путь любым удобным для вас способом (например: в~/.bashrc). Затем поместите туда простой скрипт cmdref.sh:

#!/bin/bash

if [ -z "$CMREF_DIR" ]; then
        CMREF_DIR="$HOME/notes"
fi

cat "$CMREF_DIR/${1}/${2}.txt"

Для удобства создайте символическую ссылку ln -s ~/bin/cmdref.sh ~/bin/cmdref; мне нравится делать это, чтобы можно было редактировать cmdref.shисходный код, а редактор все равно распознавал тип файла по суффиксу.

Копируйте и вставляйте что угодно в различные файлы ~/notes/bash— например, у вас может быть файл arrays.txt, loops.txtи т. д. Пока это только для вашего личного использования, вы не нарушаете авторские права.

Теперь вы можете использовать это из командной строки, например: cmdref bash arraysи эта шпаргалка будет выведена на консоль. Обратите внимание, что хотя файлы .txt(опять же, использование соответствующих суффиксов полезно для редакторов, файловых браузеров и т. д.) вы не должны использовать, cmdref bash arrays.txtтак как они добавлены cmdref.sh(единственное, что делает скрипт, это преобразует пути и добавляет суффикс).

решение3

man bashохватывает все аспекты синтаксиса bash, например, для if statements, string is zeroи non-existent files, просто найдите (нажмите /клавишу и введите следующее) CONDITIONAL EXPRESSIONS.

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