当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 2 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 有关shell脚本的功能
帖子发表于 : 2016-12-22 21:07 

注册: 2016-09-07 19:10
帖子: 7
系统: Windows XP
送出感谢: 3
接收感谢: 0 次
count=$#
cmd=echo
while[$count -gt 0]
do
cmd="$cmd \$$count"
count='expr $count-1'
done
eval $cmd


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 有关shell脚本的功能
帖子发表于 : 2016-12-23 15:08 
头像

注册: 2011-03-20 13:12
帖子: 4522
地址: 山东省寿光县
系统: Debian
送出感谢: 105
接收感谢: 997
脚本有诸多错误。应为
代码:
count=$#
cmd=echo
while [ $count -gt 0 ]
do
cmd="$cmd \$$count"
count=`expr $count - 1`
done
eval $cmd


修改点:
1. test 命令(方括号)参数缺少空格。$count, -gt, 0 是传递给 test 命令(方括号)的三个参数,需用空格分隔;
2. count='expr $count-1' 中单引号 ' 改为反引号 `。作用为取反引号内命令的输出存入变量;
3. expr $count-1 参数缺少空格。 $count, -, 1 是传递给 expr 命令的三个参数,需用空格分隔;

脚本功能为倒序显示传递给脚本的参数。

代码:
$ ./tmp.sh arg1 arg2 arg3
arg3 arg2 arg1


参考
http://stackoverflow.com/questions/5163144/what-are-the-special-dollar-sign-shell-variables
http://superuser.com/questions/247127/what-is-and-in-linux
http://wiki.bash-hackers.org/commands/classictest
http://unix.stackexchange.com/questions/27428/what-does-backquote-backtick-mean-in-commands
http://ss64.com/bash/expr.html
https://www.shell-tips.com/2010/06/14/performing-math-calculation-in-bash/


_________________
Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户



_________________
评价: 3.7% Linzi0305
 
页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 2 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译