当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 10 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : Shell中能否让一个已定义的变量重复若干次?
帖子发表于 : 2009-06-16 1:16 

注册: 2009-05-09 16:01
帖子: 19
送出感谢: 0 次
接收感谢: 0 次
就像在python中'abc'*2即是'abcabc',那在shell中是否有这种扩展?我查阅了很多Shell的扩展都没有找到对应该需求的答案。

如果实在没有这样的shell扩展,那么大家给一种解法也好,怎样重复一个变量多次?(for循环就不必了)

多谢各位高手:-)


页首
 用户资料  
 
2 楼 
 文章标题 : Re: Shell中能否让一个已定义的变量重复若干次?
帖子发表于 : 2009-06-16 8:44 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
b=$a$a

☎ a='ssx';b=$a$a; echo $b
ssxssx


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 : Re: Shell中能否让一个已定义的变量重复若干次?
帖子发表于 : 2009-06-16 8:44 
头像

注册: 2007-05-28 11:17
帖子: 105
送出感谢: 0 次
接收感谢: 0 次
var=$(echo $str | sed 's/.*/&&&/'),重复几次就几个&符号

或者shell里面也可以调Python的说:

var=$(python -c "print '$str'*3")


页首
 用户资料  
 
4 楼 
 文章标题 : Re: Shell中能否让一个已定义的变量重复若干次?
帖子发表于 : 2009-06-16 22:53 

注册: 2009-05-09 16:01
帖子: 19
送出感谢: 0 次
接收感谢: 0 次
lululau 写道:
var=$(echo $str | sed 's/.*/&&&/'),重复几次就几个&符号

或者shell里面也可以调Python的说:

var=$(python -c "print '$str'*3")


我就是用通过调用python实现的,你上面说的那种用sed的方法也不错,不过如果我需要重复30次,那么写30个&符号未免也太累了,呵呵。

大家再想想,在shell中到底有没有 复制一个变量 指定次数的方法。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: Shell中能否让一个已定义的变量重复若干次?
帖子发表于 : 2009-06-16 23:15 
头像

注册: 2007-11-19 21:51
帖子: 6956
地址: 成都
送出感谢: 0 次
接收感谢: 4
代码:
while [ "${i:-1}" -lt num ];do a+=$a;((i++));done


页首
 用户资料  
 
6 楼 
 文章标题 : Re: Shell中能否让一个已定义的变量重复若干次?
帖子发表于 : 2009-06-17 9:29 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
用这么久机器了,可没见过有重复那么多的需要。估计lz思维短路了。


_________________
● 鸣学


页首
 用户资料  
 
7 楼 
 文章标题 : Re: Shell中能否让一个已定义的变量重复若干次?
帖子发表于 : 2009-06-17 10:14 
头像

注册: 2007-05-28 11:17
帖子: 105
送出感谢: 0 次
接收感谢: 0 次
:em04

还有一着,按住Meta的同时按1000,然后松开Meta,按a,就会在终端上输入1000个a,


页首
 用户资料  
 
8 楼 
 文章标题 : Re: Shell中能否让一个已定义的变量重复若干次?
帖子发表于 : 2009-07-09 17:01 

注册: 2007-07-26 14:25
帖子: 39
送出感谢: 0 次
接收感谢: 0 次
你这个是一个字符串重复复制多次;
python有简便写法,毕竟这种语言就是为方便设计的,不然怎么叫懒人语言;
shell估计没有,所以用循环是必须的了;


页首
 用户资料  
 
9 楼 
 文章标题 : Re: Shell中能否让一个已定义的变量重复若干次?
帖子发表于 : 2009-07-24 0:10 

注册: 2008-10-31 22:12
帖子: 6546
系统: 践兔
送出感谢: 18
接收感谢: 25
lululau 写道:
:em04

还有一着,按住Meta的同时按1000,然后松开Meta,按a,就会在终端上输入1000个a,

代码:
24/07/2009 00:12:30
tusooa (~)
>> 5a
bash: 5a:找不到命令
24/07/2009 00:12:47
tusooa (~)
>>
24/07/2009 00:12:47
tusooa (~)
>> echo 5a
5a
24/07/2009 00:13:13
tusooa (~)
>>


_________________
代码:
] ls -ld //


页首
 用户资料  
 
10 楼 
 文章标题 : Re: Shell中能否让一个已定义的变量重复若干次?
帖子发表于 : 2009-07-24 12:40 

注册: 2009-07-13 11:49
帖子: 34
送出感谢: 0 次
接收感谢: 0 次
用perl试试:
代码:
test="x"
echo $test
perl -e 'print "'"$test"'"x20,"\n"'


20就是重复'x'的重复次数


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 10 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

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


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

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

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