Bash如何打印命令行参数的下一个元素
我有一个脚本,它接受命令行6个输入 TestScript.sh arg1 arg1 out arg2 arg2 out arg3 arg3 out 所以我使用for循环检查参数名,因为序列可能会改变 我希望它旁边的参数用作值Bash如何打印命令行参数的下一个元素,bash,Bash,我有一个脚本,它接受命令行6个输入 TestScript.sh arg1 arg1 out arg2 arg2 out arg3 arg3 out 所以我使用for循环检查参数名,因为序列可能会改变 我希望它旁边的参数用作值 for i; do if [ "$i" == "arg1" ] then if [ -z "$2" ] then echo "Wrokspace cancatination is empty" else ws_concatination=$2
for i; do
if [ "$i" == "arg1" ]
then
if [ -z "$2" ]
then echo "Wrokspace cancatination is empty"
else ws_concatination=$2
echo $ws_concatination
fi
elif [ "$i" == "arg3" ]
then
if [ -z "$2" ]
then echo "provide poddeffilepath "
else poddef_path=$2
echo $file
fi
elif [ "$i" == "arg5" ]
then
if [ -z "$2" ]
then echo "provide productname "
else product=$2
echo $product
fi
fi
done
所以这里不是用$2,而是取下一个值“I”,意思是如果
“$i”==“arg1”
那么ws_concatation将是arg1out``表示java中的i+1个元素
可以在bash中完成吗
请帮忙 对于“$@”中的i,您需要此;{…}
将i的替换为while($);解析参数后,Doi=$1
和shift
参数。他是你的朋友。