Независимо от того, являетесь ли вы инженером 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»