English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Shell — это программа, написанная на языке C, которая является мостом для использования Linux пользователем. Shell является и языком команд, и языком программирования.
Shell — это приложение, которое предоставляет интерфейс для доступа пользователя к сервисам ядра операционной системы.
Shell sh Кена Томпсона — это первый Unix Shell, Windows Explorer — это пример графического интерфейса Shell.
Shell скрипт (shell script) — это сценарий программы, написанный для Shell.
Shell, о котором говорят в отрасли, обычно指的是 shell скрипт, но читателям следует знать, что shell и shell скрипт — это два разных понятия.
Из-за привычки и для краткости, все出现的 "shell программирование" в этой статье означает программирование shell скриптов, а не разработку самого shell.
Shell программирование, как и программирование на JavaScript, php, требует только текстового редактора для написания кода и интерпретатора для выполнения скрипта.
В Linux существует множество видов Shell, среди которых наиболее распространены:
Bourne Shell (/usr/bin/sh или /bin/sh)
Bourne Again Shell (/bin/bash)
C Shell (/usr/bin/csh)
K Shell (/usr/bin/ksh)
Shell для Root (/sbin/sh)
……
Эта учебная программа посвящена Bash, то есть Bourne Again Shell, благодаря своей простоте и бесплатности, Bash широко используется в повседневной работе. В то же время, Bash является стандартным Shell для большинства Linux систем.
В большинстве случаев, люди не различают Bourne Shell и Bourne Again Shell, поэтому, как #!/bin/sh, он также может быть изменен на #!/bin/bash.
#! Информирует систему, что программа, указанная по пути, является Shell программой, которая объясняет этот файл скрипта.
Откройте текстовый редактор (можно использовать команды vi/vim для создания файла), создайте новый файл test.sh с расширением sh (sh означает shell), расширение не влияет на выполнение скрипта, важно только, чтобы было понятно, если вы пишете shell скрипт на php, расширение лучше использовать php.
Вводите код, обычно первая строка выглядит так:
#!/bin/bash echo "Hello World !"
#! Это соглашение, которое говорит системе, что этот скрипт требует определенного интерпретатора для выполнения, то есть哪种 Shell будет использоваться.
Команда echo используется для вывода текста в окно.
1. В качестве исполняемого файла
Сохраните следующий код в файл test.sh и перейдите в соответствующий каталог:
chmod +x ./test.sh #Дать скрипту права выполнения ./test.sh #Выполнить скрипт
Внимание,一定要写成 ./test.sh, а не test.shТак же можно запускать другие двоичные программы, просто пишите test.sh, система Linux будет искать в PATH, есть ли файл test.sh, а в PATH включены только /bin, /sbin, /usr/bin, /usr/sbin и т.д., текущий каталог обычно не включен в PATH, поэтому写成 test.sh не найдет команду,要用 ./test.sh чтобы сказать системе, что искать в текущем каталоге.
2. В качестве параметра интерпретатора
Этот способ заключается в прямом запуске интерпретатора, его параметрами является имя файла shell-скрипта, например:
/bin/sh test.sh /bin/php test.php
Этот скрипт не требует указания информации о интерпретаторе в первой строке, и написание ее не имеет значения.