我有一个剧本,是我大学的一位教授给我们修改的,但是我似乎无法确切地知道它的作用。谁能帮助我更好地理解它?
for i
do grep look $i; done
从我可以收集到的信息中可以看出,变量i的值可以是文件或目录。但是我不熟悉look命令如何起作用。我将不胜感激您可以提供的任何提示。
look
不是命令,而是的第一个参数grep
。因此它将look
在名为的文件中搜索单词$i
。(grep
除非你在传递不会搜索文件夹-R
中grep -R look $i
)。
的混淆的一点是,for i
通常有一个in WORDS
指定的,因此for i in one two three
将运行之间的命令do
和done
三次:一次具有可变i
=“一个”,一旦与i
=“2”,并与一次i
=“三”。但是,bash手册说明了如果in
未指定该怎么办:
如果不存在“ in words”,则for命令对于设置的每个位置参数仅执行一次命令,就好像已指定“ in $ @”中一样[...]。
因此,简而言之,如果脚本位于名为的文件中foo.sh
,则调用foo.sh file1 file2
将look
在文件“ file1”和“ file2”中查找单词。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句