这个linux的shell程序是干什么的?不胜感激
count=$#cmd=echowhile[$count-gt0]docmd="$cmd\$$count"count='expr$count-1'doneeval$cmd...
count=$#
cmd=echo
while[$count -gt 0]
do
cmd="$cmd \$$count"
count='expr $count - 1'
done
eval $cmd
程序里面还有错误,麻烦帮我改一下 展开
cmd=echo
while[$count -gt 0]
do
cmd="$cmd \$$count"
count='expr $count - 1'
done
eval $cmd
程序里面还有错误,麻烦帮我改一下 展开
3个回答
展开全部
楼主的源码:
1 count=$#
2 cmd=echo
3 while[$count -gt 0]
4 do
5 cmd="$cmd \$$count"
6 count='expr $count - 1'
7 done
8 eval $cmd
一.这段脚本的作用如下:
从最后一个脚本参数开始来输出参数:
例如 脚本名称为ex.sh
执行
ex.sh 参数一 参数二 参数三 参数四
将输出:
参数四 参数三 参数二 参数一
二.包含的错误如下:
1. 第3行 [ 与 ] 要保留空格
2. 第6行 包含 expr $count -1 的不是单引号,是你数字键1左边的键.
三.正确的代码如下:
count=$#
cmd=echo
while [ "$count" -gt 0 ]
do
cmd="$cmd \$$count"
count=`expr $count - 1`
done
eval $cmd
四.代码解释:
count=$# -------------获取参数个数,并赋给 count
cmd=echo -------------将要动态执行的命令为 echo
while [ "$count" -gt 0 ] -------------只要count 大于等于0 就继续执行
do
cmd="$cmd \$$count" -------------为将要执行的命令赋值,转换过来应该为 echo $1
count=`expr $count - 1` -------------count 递减 由于在shell中,变量定义都为字符,即使是数字, 此行等同于 count=$(($count-1))
done
eval $cmd -------------动态执行命令
五.备注:
如果楼主想学习 shell 编程,不妨去看一下<<linux程序设计>>
1 count=$#
2 cmd=echo
3 while[$count -gt 0]
4 do
5 cmd="$cmd \$$count"
6 count='expr $count - 1'
7 done
8 eval $cmd
一.这段脚本的作用如下:
从最后一个脚本参数开始来输出参数:
例如 脚本名称为ex.sh
执行
ex.sh 参数一 参数二 参数三 参数四
将输出:
参数四 参数三 参数二 参数一
二.包含的错误如下:
1. 第3行 [ 与 ] 要保留空格
2. 第6行 包含 expr $count -1 的不是单引号,是你数字键1左边的键.
三.正确的代码如下:
count=$#
cmd=echo
while [ "$count" -gt 0 ]
do
cmd="$cmd \$$count"
count=`expr $count - 1`
done
eval $cmd
四.代码解释:
count=$# -------------获取参数个数,并赋给 count
cmd=echo -------------将要动态执行的命令为 echo
while [ "$count" -gt 0 ] -------------只要count 大于等于0 就继续执行
do
cmd="$cmd \$$count" -------------为将要执行的命令赋值,转换过来应该为 echo $1
count=`expr $count - 1` -------------count 递减 由于在shell中,变量定义都为字符,即使是数字, 此行等同于 count=$(($count-1))
done
eval $cmd -------------动态执行命令
五.备注:
如果楼主想学习 shell 编程,不妨去看一下<<linux程序设计>>
展开全部
一个一个显示脚本命令的参数
count=$#
cmd=echo
while [ "$count" -gt 0 ] #注意此处空格尽量不要少
do
cmd="$cmd \$$count"
count=`expr $count - 1` #此处不是单引号,是反引号,esc下面那个键
done
eval $cmd
count=$#
cmd=echo
while [ "$count" -gt 0 ] #注意此处空格尽量不要少
do
cmd="$cmd \$$count"
count=`expr $count - 1` #此处不是单引号,是反引号,esc下面那个键
done
eval $cmd
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
shell是命令解释器,简说就是人与操作系统的交互窗口,通过shell你可以输入各种命令告诉linux操作系统要执行什么动作,操作系统执行完也可以把结果通过shell反馈给你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询