< 甘蔗宽 = 20/> < 甘蔗宽 = 20/> < 甘蔗宽 = 20/> 检查参数的正确数目

< tr > 第一次

如何检查正确的参数数量(一个参数)。如果有人试图调用脚本而没有传入正确数量的参数,并检查以确保命令行参数实际存在并且是一个目录。

289488 次浏览
#!/bin/sh
if [ "$#" -ne 1 ] || ! [ -d "$1" ]; then
echo "Usage: $0 DIRECTORY" >&2
exit 1
fi
第二次

转换: 如果参数的数量不等于1,或者第一个参数不是目录,则输出 stderr 的用法,并退出时显示错误状态代码。

第三次

更友好的错误报告:

#!/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
免费

您可以使用 < strong > < em > “ $#”检查命令行中传递的参数总数 < tr > 例如,我的 shell 脚本名是 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
< td > text11111111

输出为 hello-world

输出将类似于-

directory1 exit
directory2 Does not exists