这个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
程序里面还有错误,麻烦帮我改一下
展开
 我来答
GhostWolfBD
2010-04-23
知道答主
回答量:11
采纳率:0%
帮助的人:0
展开全部
楼主的源码:
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程序设计>>
百度网友8b14dbf25
2010-04-15 · TA获得超过271个赞
知道小有建树答主
回答量:127
采纳率:100%
帮助的人:97.2万
展开全部
一个一个显示脚本命令的参数

count=$#
cmd=echo
while [ "$count" -gt 0 ] #注意此处空格尽量不要少
do
cmd="$cmd \$$count"
count=`expr $count - 1` #此处不是单引号,是反引号,esc下面那个键
done
eval $cmd
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
和伦门绸
2019-11-25 · TA获得超过3.8万个赞
知道大有可为答主
回答量:1.2万
采纳率:29%
帮助的人:1138万
展开全部
shell是命令解释器,简说就是人与操作系统的交互窗口,通过shell你可以输入各种命令告诉linux操作系统要执行什么动作,操作系统执行完也可以把结果通过shell反馈给你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式