summaryrefslogtreecommitdiff
path: root/LINUX/BASH.md
diff options
context:
space:
mode:
authorvlapa <vlapa@ya.ru>2026-06-13 20:33:26 +0300
committervlapa <vlapa@ya.ru>2026-06-13 20:33:26 +0300
commite5abc1fe99340b979b18864d978179f71fe8f5c5 (patch)
tree98fd0ad7c6d0744894d6e74e446daacd9e6dd1b5 /LINUX/BASH.md
First
Diffstat (limited to 'LINUX/BASH.md')
-rw-r--r--LINUX/BASH.md109
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
+```
+