【发布时间】:2014-08-11 08:14:28
【问题描述】:
#!/bin/sh
a=0
while [ $a -lt $# ]
do
var_no=$a
echo "var_no value is $var_no"
dir_no=`expr $a + 1`
dirname=$dir_no
echo "dirname value is $dirname" # $n is the command line arg
if [ -d $dirname ]
then
echo " $dirname exists"
else
echo "[$dirname] not exist"
mkdir $dirname;
fi
a=`expr $a + 1`
done
当我尝试将参数分配给 shell 变量时,它没有显示预期的输出,如下所示。
输出是
$sh while.sh xyz yzx
var_no value is 0
dirname value is 1 ------ but expecting xyz
This dirname 1 exists
var_no value is 1
dirname value is 2 ------ but expecting yzx
This dirname 2 exists
【问题讨论】:
-
你的问题是......?
-
$1 将在这里给出第一个参数是 xyz,我需要 $1,$2,$3... 值但是当我这样编码时,我得到的 dirname 值为 1 ------但期待 xyz 请您帮忙完成此任务.. 提前致谢
-
你能更新你的标题,让读者知道你在问什么吗? “Shell 脚本”太宽泛了。
标签: shell unix command-line-arguments