Каждый раз, когда мне нужно выполнить небольшой сценарий bash, включающий операторы if, проверку на наличие пустых переменных и несуществующих файлов и т. Д. Я попадаю в Google, чтобы найти простое руководство или руководство по bash.
Часто они слишком длинные и сложные, чтобы быстро ответить на вопрос, который у меня есть.
Итак, я подумал, что должна быть какая-то команда или страница руководства, которая покрывает основной синтаксис bash (для таких вещей, как операторы if, проверки на наличие пустых переменных, несуществующие файлы и т. Д.) В краткой и доступной форме. Я уверен, что я просто не узнал команду (похоже, что bash не тот).
Где я могу найти это?
bash
вы можете попробоватьhelp
Ответы:
man bash
каноническая ссылка Bash.help help
дает вам помощь поhelp
встроенной функции Bash, и как она дает вам короткие справочные сообщения о других встроенных программах Bash, таких какhelp for
..bash_history
. Есть слишком много команд, различные Синтаксисов параметров,sed
иawk
линия шума и другие вещей , чтобы всегда помнить все это, так приятно иметь «хорошо ухоженные» личные ссылки с тегами , чтобы посмотреть в.источник
help
.help
был ли там. Так много ненужногоman bash
чтения не требуется!Так как в Интернете есть много таких вещей , вот совет для вас; Я использую это для всех видов вещей.
Создать каталог
$HOME/notes
. Добавить подпапкуbash
. Если у вас нет$HOME/bin
, создайте его, добавьте его к своему пути, используя любой метод, который вы предпочитаете ( например, в~/.bashrc
). Затем поместите туда простой скриптcmdref.sh
:Симлинк это для удобства
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
(единственное, что делает скрипт - это преобразование путей и добавление суффикса).источник
vi cmdref
и vim откроет «cmdref.sh», а затем я смогу его отредактировать, или я что-то упускаю здесь очевидное?vi ~/bin/cmdref
, vim, на самом деле не знаете, что это за файл, и для подсветки будете использовать значение по умолчанию (я так думаю.txt
). Но если выvi ~/bin/cmref.sh
, vim, знаете, что файл является сценарием оболочки, и выделение будет иметь смысл. Но WRT команда, которую вы хотите ввестиcmdref
, а неcmdref.sh
. Вот почему я использую символическую ссылку.vi
сама по себе обычно является символической ссылкойvim
, поэтому вы вообще получаете подсветку синтаксиса (я думаю, у оригинального «vi» такой функции не было). И: ВЬЕТ на самом деле является достаточно умно , чтобы признать , что сценарий как сценарий оболочки , если файл не имеет суффикса, но принцип стоит;) В редких случаях , возможно , я должен / хочу использовать что - то менее умное..sh
файл в vim иset filetype=txt
- eek!man bash
охватывает все аспекты Баша синтаксиса, например , дляif statements
,string is zero
иnon-existent files
, просто поиск (нажмите на/
кнопку и введите следующий) дляCONDITIONAL EXPRESSIONS
.источник