繁体   English   中英

Unix sh脚本混乱

[英]Unix sh Script confusion

我有一个剧本,是我大学的一位教授给我们修改的,但是我似乎无法确切地知道它的作用。 谁能帮助我更好地理解它?

for i 
do grep look $i; done

从我可以收集到的信息中可以看出,变量i的值可以是文件或目录。 但是我不熟悉look命令如何起作用。 我将不胜感激您可以提供的任何提示。

look不是命令,它是grep的第一个参数。 因此它将在名为$i的文件中搜索look (除非您像在grep -R look $i那样传递-R ,否则grep不会搜索文件夹。)

令人困惑的是, for i通常会指定一个in WORDS ,所以for i in one two three会在dodone之间运行命令三遍:一次是变量i =“ one”,一次是i =“ two”,并一次与i =“三”。 但是, bash手册说明了如果未指定in ,该怎么办:

如果不存在“ in word”,则for命令对于设置的每个位置参数仅执行一次命令,就好像已指定“ in $ @”中一样[...]。

因此,简而言之,如果脚本位于名为foo.sh的文件中,则调用foo.sh file1 file2将在文件“ file1”和“ file2”中查找单词look

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM