Как проверить правильное количество аргументов (один аргумент). Если кто-то пытается вызвать скрипт, не передавая правильное количество аргументов и проверяя, действительно ли аргумент командной строки существует и является каталогом.Проверка правильного количества аргументов
94
A
ответ
140
#!/bin/sh
if [ "$#" -ne 1 ] || ! [ -d "$1" ]; then
echo "Usage: $0 DIRECTORY" >&2
exit 1
fi
Перевод: Если количество аргументов не является (численно) равно 1 или первый аргумент не является каталогом, выход использования в стандартный поток ошибок и выйти с кодом сбой.
Более дружественные сообщения об ошибках:
#!/bin/sh
if [ "$#" -ne 1 ]; then
echo "Usage: $0 DIRECTORY" >&2
exit 1
fi
if ! [ -e "$1" ]; then
echo "$1 not found" >&2
exit 1
fi
if ! [ -d "$1" ]; then
echo "$1 not a directory" >&2
exit 1
fi
+0
Я получаю сообщение об ошибке, говорящее, что целое выражение exptected – 2010-12-03 01:19:04
5
Вы можете проверить общее количество аргументов, которые передаются в командной строке с «$#
» Скажет для примера моей оболочки имя скрипта hello.sh
sh hello.sh hello-world
# I am passing hello-world as argument in command line which will b considered as 1 argument
if [ $# -eq 1 ]
then
echo $1
else
echo "invalid argument please pass only one argument "
fi
Выход будет hello-world
9
кошка script.sh
var1=$1
var2=$2
if [ "$#" -eq 2 ]
then
if [ -d $var1 ]
then
echo directory ${var1} exist
else
echo Directory ${var1} Does not exists
fi
if [ -d $var2 ]
then
echo directory ${var2} exist
else
echo Directory ${var2} Does not exists
fi
else
echo "Arguments are not equals to 2"
exit 1
fi
выполнить его, как показано ниже -
./script.sh directory1 directory2
выход будет как -
directory1 exit
directory2 Does not exists
Смежные вопросы
- 1. Повторное приглашение для правильного количества аргументов
- 2. Проверка количества аргументов скрипта КШ
- 3. Проверка правильного количества ([и {в выражениях?
- 4. проверка правильного правильного правила
- 5. проверка наличия достаточного количества аргументов, C++
- 6. Проверка количества аргументов командной строки в python
- 7. Проверка времени компиляции количества аргументов в вариационном шаблоне
- 8. html5 проверка правильного выражения
- 9. Проверка правильного порядка значений
- 10. Проверка правильного пароля Loopback
- 11. Java, проверка правильного формата
- 12. Проверка аргументов
- 13. Уменьшение количества аргументов конструктору
- 14. Проверка правильного выражения в asp.net
- 15. Проверка правильного десятичного формата Java
- 16. Пакетная проверка правильного IP-диапазона
- 17. C++ - Проверка правильного типа входного
- 18. Передача переменной количества аргументов вокруг
- 19. Получение количества аргументов указателя функции
- 20. Возврат правильного количества недель в году
- 21. Вычисление правильного количества бит в цветном фильтре
- 22. Получение правильного количества слов PDF-файла
- 23. Печать правильного количества десятичных знаков? (printf) - JAVA
- 24. Использование только правильного количества логических процессоров
- 25. Выделение правильного количества строк на основе массива
- 26. Определение правильного количества нейронов для нейронной сети
- 27. Проверка аргументов вторичного конструктора
- 28. проверка нескольких входных аргументов
- 29. Проверка аргументов функции?
- 30. Проверка типов аргументов Python
@Daniel `shell`, что означает`/bin/ш ` – Ruel 2010-12-03 01:15:52
im working in sh – 2010-12-03 01:16:39