Независимо от того, являетесь ли вы инженером DevOps/Sysops, разработчиком или просто энтузиастом Linux, вы можете использовать сценарии Bash для сочетания различных команд Linux и автоматизировать скучные и повторяющиеся ежедневные задачи, чтобы вы могли сосредоточиться на более продуктивных и забавных вещах.
Здесь вы можете найти завершенный шпаргалка сценария Bash Scripting 👇
Опция 1:
#!/bin/bash
Вариант 2:
#!/usr/bin/env bash
#!/bin/bash name="DevDojo" echo "Hi there $name"
#!/bin/bash echo "What is your name?" read name echo "Hi there $name" echo "Welcome to DevDojo!"
Чтобы сделать это в Bash, вам нужно добавить символ # в начале линии. Комментарии никогда не будут отображаться на экране.
# This is a comment and will not be rendered on the screen
#!/bin/bash echo "Argument one is $1" echo "Argument two is $2" echo "Argument three is $3"
Затем запустите файл и передайте 3 аргументы:
bash ./arguments.sh dog cat bird
my_array=("value 1" "value 2" "value 3" "value 4")
# Access a single element, this would output: value 2
echo ${my_array[1]}
# This would return the last element: value 4
echo ${my_array[-1]}
# This would output the total number of elements in the array, in our case it is 4:
echo ${#my_array[@]}
Файл выражения
## True if file exists.
[[ -a ${file} ]]
## True if file exists and is a block special file.
[[ -b ${file} ]]
## True if file exists and is a character special file.
[[ -c ${file} ]]
## True if file exists and is a directory.
[[ -d ${file} ]]
## True if file exists.
[[ -e ${file} ]]
## True if file exists and is a regular file.
[[ -f ${file} ]]
## True if file exists and is a symbolic link.
[[ -h ${file} ]]
## True if file exists and is readable.
[[ -r ${file} ]]
## True if file exists and has a size greater than zero.
[[ -s ${file} ]]
## True if file exists and is writable.
[[ -w ${file} ]]
## True if file exists and is executable.
[[ -x ${file} ]]
## True if file exists and is a symbolic link.
[[ -L ${file} ]]
Строковые выражения
# True if the shell variable varname is set (has been assigned a value).
[[ -v ${varname} ]]
# True if the length of the string is zero.
[[ -z ${string} ]]
# True if the length of the string is non-zero.
[[ -n ${string} ]]
# True if the strings are equal. = should be used with the test command for POSIX conformance. When used with the [[ command, this performs pattern matching as described above (Compound Commands)
[[ ${string1} == ${string2} ]]
# True if the strings are not equal.
[[ ${string1} != ${string2} ]]
# True if string1 sorts before string2 lexicographically.
[[ ${string1} < ${string2} ]]
# True if string1 sorts after string2 lexicographically.
[[ ${string1} > ${string2} ]]
Арифметические операторы
# Returns true if the numbers are equal
[[ ${arg1} -eq ${arg2} ]]
# Returns true if the numbers are not equal
[[ ${arg1} -ne ${arg2} ]]
# Returns true if arg1 is less than arg2
[[ ${arg1} -lt ${arg2} ]]
# Returns true if arg1 is less than or equal arg2
[[ ${arg1} -le ${arg2} ]]
# Returns true if arg1 is greater than arg2
[[ ${arg1} -gt ${arg2} ]]
# Returns true if arg1 is greater than or equal arg2
[[ ${arg1} -ge ${arg2} ]]
# As with other programming languages you can use AND & OR conditions:
[[ test_case_1 ]] && [[ test_case_2 ]] # And
[[ test_case_1 ]] || [[ test_case_2 ]] # Or
#!/bin/bash
# Bash if statement example
read -p "What is your name? " name
if [[ -z ${name} ]]
then
echo "Please enter your name!"
else
echo "Hi there ${name}"
fi
Для петли
#!/bin/bash
users="devdojo, bobby, tony"
for user in ${users}
do
echo "${user}"
done
Пока петли
#!/bin/bash
counter=1
while [[ $counter -le 10 ]]
do
echo $counter
((counter++))
done
До петли
#!/bin/bash
count=1
until [ $count -gt 10 ]
do
echo $count
((count++))
done
function function_name() {
your_commands
}
Пример
#!/bin/bash
function hello(){
echo "Hello World Function!"
}
hello
Для более подробных объяснений ознакомьтесь с этим онлайн-руководством здесь:
Бэш сценарий практического гида
Если вы хотите узнать больше о сценариях Bash, проверьте эту бесплатную электронную книгу здесь:
💡 Введение в сценарии Bash
Если вы предпочитаете видеоконтент, вы можете взглянуть на этот мини -курс видео с аварией:
Введение в Bash Scripting Mini Video Crash Course
Вы можете подписаться на меня в Твиттере по адресу: @bobbyiliev_
Оригинал: «https://dev.to/bobbyiliev/the-only-bash-scripting-cheat-sheet-that-you-will-ever-need-55c7»