免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1445 | 回复: 7
打印 上一主题 下一主题

请教:for循环中的$的含义 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-05-13 20:42 |只看该作者 |倒序浏览
for filename in $(cat $1)括号里的$是变量符号,那外面的$有什么用呢?外面的$的功能是什么呢?
请广大人民群众帮忙。

全文如下:
for filename in $(cat $1)
do
   print $filename
   cat   $filename
   print "=================End of $filename==================\n"
done

print "******* End of File List *******************"

论坛徽章:
0
2 [报告]
发表于 2005-05-13 21:35 |只看该作者

请教:for循环中的$的含义

你这个应该是script中的吧,$1是表示第一个参数。

论坛徽章:
0
3 [报告]
发表于 2005-05-13 23:18 |只看该作者

请教:for循环中的$的含义

http://bbs.chinaunix.net/forum/viewtopic.php?p=1617953#1617953

论坛徽章:
0
4 [报告]
发表于 2005-05-14 13:56 |只看该作者

请教:for循环中的$的含义

谢谢icesummit
网中人shell十三问讲到$()是用做命令替换之用,但是
for filename in $(cat $1)
中cat $1的结果是:
file1
file2
即$1里面的内容是文件名列表,不是命令呀?那 $(cat $1)  括号外面的$又做何解释呢?

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
5 [报告]
发表于 2005-05-14 14:02 |只看该作者

请教:for循环中的$的含义

命令替换

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
6 [报告]
发表于 2005-05-14 14:26 |只看该作者

请教:for循环中的$的含义

$ 的用途很多, 要看它在 cmmand line 的位置:
$var 替換變量
$() 替換命令
$$ 第二個 $ 是 shell PID 的 var name
RE$ 在 regular expression 裡為句末
1,$ 在 sed 或 vi 裡, 指最後一行

论坛徽章:
0
7 [报告]
发表于 2005-05-14 23:57 |只看该作者

请教:for循环中的$的含义

原帖由 "xyystone" 发表:
谢谢icesummit
网中人shell十三问讲到$()是用做命令替换之用,但是
for filename in $(cat $1)
中cat $1的结果是:
file1
file2
即$1里面的内容是文件名列表,不是命令呀?那 $(cat $1)  括号外面的$又做何解?.........

$()是命令替换,只执行一次(不象eval),所以它替换的是cat $1这个命令,不是执行cat命令的文件,$()等价于``命令

论坛徽章:
0
8 [报告]
发表于 2005-05-15 07:25 |只看该作者

请教:for循环中的$的含义

是把cat $1中各项作为命令替换内容
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP