diff options
Diffstat (limited to 'LINUX/BASH.md')
| -rw-r--r-- | LINUX/BASH.md | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/LINUX/BASH.md b/LINUX/BASH.md new file mode 100644 index 0000000..c8812a0 --- /dev/null +++ b/LINUX/BASH.md @@ -0,0 +1,109 @@ +```bash +mydir=$(pwd) +mydir=`pwd` +echo $mydir + +=========================== + +=========================== +-z # строка пуста +-n # строка не пуста +=, (==) # строки равны +! = # строки не равны + +! # отрицание логическоно выражения +-a, (&&) # логическое И +-o, (||) # логическое ИЛИ + +var1=(( 5 + 5)) +-eq = +-ge >= +-gt > +-le <= +-lt < +-ne != + +if [ $val - gt 5] +then +elif +else +fi + +/dev/pts/$i + +IFS=$'\n' # переназначение переменной среды на только перевод строки +IFS=: +``` + +```sh +# Где я? +mydir=`pwd` +mydir=$(pwd) +echo $mydir + +# Математика: +var1=$(( 5 + 5 )) +echo $var1 + +# IF-THEN-ELSE-ELIF +user=likegeeks +if grep $user /etc/passwd +then +echo "The user $user Exists!" +else +echo "The user $user doesn't exist" +elif grep $user /usr/bin +then +echo "jhgvhjlgvljhgljhg" +fi +``` + +```sh +# Как в Linux, так и в OS X grep возвращает код выхода, поэтому легко проверить, был ли процесс найден или нет:** + +#!/bin/bash +ps cax | grep httpd > /dev/null +if [ $? -eq 0 ]; then + echo "Process is running." +else + echo "Process is not running." +fi + + +# Кроме того, если вам нужен список PID, вы также можете легко выполнить grep для них:** + +ps cax | grep httpd | grep -o '^[ ]*[0-9]*' + +# Чей вывод одинаков в Linux и OS X:** + +3519 3521 3523 3524 + +# Вывод следующего представляет собой пустую строку, что делает этот подход безопасным для процессов, которые не запущены:** + +echo `ps cax | grep aasdfasdf | grep -o '^[ ]*[0-9]*'` + +# Этот подход подходит для написания простого теста с пустой строкой, а затем даже для перебора обнаруженных PID. + +#!/bin/bash +PROCESS=$1 +PIDS=`ps cax | grep $PROCESS | grep -o '^[ ]*[0-9]*'` +if [ -z "$PIDS" ]; then + echo "Process not running." 1>&2 + exit 1 +else + for PID in $PIDS; do + echo $PID + done +fi + +# Вы можете протестировать ее, сохранив в файл (с именем "running") с разрешениями на выполнение (chmod + x running) и выполнив его с параметром: `./running "httpd"` + +#!/bin/bash +ps cax | grep httpd +if [ $? -eq 0 ]; then + echo "Process is running." +else + echo "Process is not running." +fi +``` + |
