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

Материал из support.qbpro.ru
imported>Vix
 
(не показано 7 промежуточных версий 2 участников)
Строка 14: Строка 14:
== '''Bash передача имени с пробелом в переменной'''==
== '''Bash передача имени с пробелом в переменной'''==
  #
  #
  inpath="/home/xenuser/VirtualBox VMs"
  inpath="/home/user/VirtualBox VMs"
  echo "$inpath"
  echo "$inpath"
  cd "$inpath"
  cd "$inpath"
  #
  #
== '''Пример вывода содержимого postgresql.conf файла с исключением пустых строк и помеченных "#" - комментариями''' ==
<syntaxhighlight lang="shell" line='line'>
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