Bash: “Bourne again shell”. Есть много оболочек, которые могут выполнять команды UNIX, и та, которая используется в терминале Mac - Bash . Она была создана Брайаном Фоксом для операционной системы GNU и является альтернативой Bourne Shell. Она служит интерфейсом между пользователем и ядром, который изолирует пользователя от сложности функций ядра.
Пример скрипта в терминале:
➜ mcd() {
mkdir -p "$1"
cd "$1"
}
➜ mcd testFolder
➜ testFolder
Создать исполняемый файл:
vim python.sh
-> Enter script -> chmod +x python.sh
-> ./python.sh
➜ cat python.py
#!/usr/bin/python3
print("hello")
#! - Шебанг указывает на выполнение бинарного файла из этой директории (/bin). Н/р:
#!/usr/bin/env python3
Для проверки где происходит исполнение скрипта на нужном нам языке, пишем which (название языка/команды)
. Чтобы дать права на исполнение созданному файлу нужно написать команду chmod +x (название файла)
Можно использовать #!/usr/bin/env bash -x
для получения вывода в консоль самого скрипта.
Таблица операторов:
Cимвол | Значение |
---|---|
~ | Домашняя директория |
# | Коммент |
$ | Переменные выражения |
& | Фоновая задача |
() | Вызов subshell внутри скобок |
! | Логическое нет |
'' | Строгое цитирование текста. echo 'Hatter\'s tea party' выведет Hatter's tea party |
"" | Слабое цитирование - командная строка может выполнять некоторые операторы внутри. echo "Hatter\'s tea party" выведет Hatter's tea party |
\ | Цитируй следующий символ. * равносильно '*' |
< | Перенаправление ввода |
> | Перенаправление вывода |
➜ print_args() {
echo $0 # — имя текущего скрипта.
echo $1 # - первый переданный аргумент функции. $2...$n
echo $_ # — последняя аргумент последней команды.
echo $@ # - показать все аргументы
echo $# # - показать количество аргументов
echo $$ # - показать PID (process ID)
echo $? # — статус выхода последней выполненной команды
}
Вывод:
➜ print_args 1 2 3 4 helloWorld!
print_args
1
1 2 3 4 helloWorld!
5
877
0
[20 -eq 20]
= true
Output_1: Hello to
NAME=${1}
echo "Hello to $NAME"
Output_2: Error: no name given
NAME=${1?Error: no name given}
echo "Hello to $NAME"
Output_3: Hello to ME
NAME=${1:-ME}
echo "Hello to $NAME"
echo "Enter your name"
read name
echo "Hello, $name"
name - переменная присваемая введенном тексту из консоли после исполнения файла и вывода "Enter your name".
1.3.2 Text Editors Folder | Back To iOSWiki Contents | 1.3.3.2 Link Theme