if fi

Ответить
ya
^-^
Сообщения: 2336
Зарегистрирован: 16 дек 2021, 19:56

if fi

Сообщение ya »

Код: Выделить всё

Condition	Equivalent
$a -lt $b	$a < $b
$a -gt $b	$a > $b
$a -le $b	$a <= $b
$a -ge $b	$a >= $b
$a -eq $b	$a is equal to $b
$a -ne $b	$a is not equal to $b
-e $FILE	$FILE exists
-d $FILE	$FILE exists and is a directory.
-f $FILE	$FILE exists and is a regular file.
-L $FILE	$FILE exists and is a soft link.
$STRING1 = $STRING2	$STRING1 is equal to $STRING2
$STRING1 != $STRING2	$STRING1 is not equal to $STRING2
-z $STRING1	$STRING1 is empty

Код: Выделить всё

#!/bin/bash

if [ $# -ne 1 ]; then
	echo "Error: Invalid number of arguments"
 	exit 1
fi

file=$1

if [ -f $file ]; then
	echo "$file is a regular file."
elif [ -L $file ]; then
	echo "$file is a soft link."
elif [ -d $file ]; then
	echo "$file is a directory."
else
	echo "$file does not exist"
fi

Код: Выделить всё

#!/bin/bash

CHAR=$1

case $CHAR in
[a-z])
echo "Small Alphabet." ;;
[A-Z])
echo "Big Alphabet." ;;
[0-9])
echo "Number." ;;
*)
echo "Special Character."
esac

Код: Выделить всё

#!/bin/bash

if [ $(whoami) = 'root' ]; then
	echo "You are root"
fi
ya
^-^
Сообщения: 2336
Зарегистрирован: 16 дек 2021, 19:56

Re: if fi

Сообщение ya »

проверить на существование эти переменные

Код: Выделить всё

if [ -z $SERVER ] || [ -z $DATE ]; then
echo "Необходимо указать сервер и дату";
exit 1;
fi;
Рабочая директория скрипта имеет важное значение, если вам нужно сохранить какие-либо данные в файловую систему. Лучше выполнять команды в правильной директории. Также нужно проверить есть ли у текущего пользователя права на запись в текущую папку. Создайте такую функцию

Код: Выделить всё

changedir(){
DIR_NAME=$1

# Проверяем существует ли папка
[ -d "$DIR_NAME" ] || {
echo Dir: $DIR_NAME does not exist
exit 1
}


# Проверяем доступ на чтение
[ -r "$DIR_NAME" ] || {
echo Dir: $DIR_NAME not readable
exit 2
}
# Проверяем доступ на выполнение
[ -x "$DIR_NAME" ] || {
echo Dir: cannot cd to $DIR_NAME
exit 3
}
# Проверяем доступ на запись
[ -w "$DIR_NAME" ] || {
echo Dir: $DIR_NAME not writeable
exit 4
}
cd $DIR_NAME
echo "Present directory $DIR_NAME"
}

changedir /путь/к/папке
Ответить