Bash в примерах: различия между версиями

Материал из support.qbpro.ru
imported>Vix
 
(не показаны 4 промежуточные версии 2 участников)
Строка 19: Строка 19:
  #
  #
== '''Пример вывода содержимого postgresql.conf файла с исключением пустых строк и помеченных "#" - комментариями''' ==
== '''Пример вывода содержимого postgresql.conf файла с исключением пустых строк и помеченных "#" - комментариями''' ==
<syntaxhighlight lang="shell" line='line'>
  cat postgresql.conf |sed '/^#/d'|sed '/^$/d'|sed '/^[[:space:]]/d'
  cat postgresql.conf |sed '/^#/d'|sed '/^$/d'|sed '/^[[:space:]]/d'
</syntaxhighlight>
=='''Отладка скрипта bash'''==
* В скрипте в шапке вставляем:
#/bin/bash -x
# ..
* При запуске весь поток сообщений отправляем в файл:
myscript.sh >debug.txt
или
myscript.sh &>debug.txt
или
myscript.sh 2>&1>debug.txt
=='''Как протестировать SSH'''==
* [[Протестируем SSH соединение 5 простыми способами]]

Текущая версия от 00:25, 5 июля 2024

В данной статье будут собираться рабочие примеры

Проверка на пустое значение

xtest=`df -h|grep /dev/sda1|wc -m`
if [ "$xtest" != 0 ]
then
echo "есть такое значение"
sleeз 5
fi
  • В данном примере если есть выделение по grep то условие срабатывает, для проверки на "пусто" достаточно сменить != на =

Bash передача имени с пробелом в переменной

#
inpath="/home/user/VirtualBox VMs"
echo "$inpath"
cd "$inpath"
#

Пример вывода содержимого postgresql.conf файла с исключением пустых строк и помеченных "#" - комментариями

 cat postgresql.conf |sed '/^#/d'|sed '/^$/d'|sed '/^[[:space:]]/d'

Отладка скрипта bash

  • В скрипте в шапке вставляем:
#/bin/bash -x
# ..
  • При запуске весь поток сообщений отправляем в файл:
myscript.sh >debug.txt

или

myscript.sh &>debug.txt

или

myscript.sh 2>&1>debug.txt

Как протестировать SSH