我正在寻找一种在其中一个设置文件中创建自定义函数的方法,这样当我打开一个新会话时,可以评估(或获取)相同的自定义函数,并且我可以轻松使用该函数。
我尝试创建一个函数来检查ERROR
我的日志文件中是否存在,所以当我检查日志文件时,我只需键入函数名和日志文件名。现在我正在使用 grep:grep ERROR test.txt
但我想让它更容易,因为我有很多这样的检查。所以我将这一行添加到.bashrc
:
ok(){grep ERROR $filename}
当我使用该功能时,我希望输入:ok test.txt
它应该给我错误行,如果有的话。
但是,在评估.bashrc
文件后,我收到一条错误消息:
-bash: .bashrc: line 16: syntax error: unexpected end of file
在我输入: 后ok test.txt
,它提供:
-bash: ok: command not found
有人可以帮我使用这个自定义功能吗?或者我应该将我的代码粘贴到另一个设置文件中,比如.bashrc-profile
?
提前非常感谢!
shell 对结构的语法和空格非常挑剔
{ ... }
。这两种设置该功能的方法将起作用:关于大括号
{ .. }
与括号( .. )
,Bash 的手册指出:和
List指的是大括号内的命令,所有这些都适用于任何
{ ... }
使用过的地方,但函数可能是最常见的地方。此外,如果您希望能够将文件名作为参数提供给函数,请
$1
在其中使用。即ok() { grep ERROR "$1"; }
可以用作ok test.txt
.不必如此,您会感到自由并从中受益匪浅
第三种用法将在当前目录中所有目录的所有目录中找到所有具有 log 和 txt 扩展名的文件中具有“error”字符串的
所有行第四次将在所有具有 log 和 txt 扩展名的文件中找到所有具有“error”或“warn”字符串的行当前目录中的所有目录
第 5 个将在当前目录中所有目录的所有名为 logdata 且具有任何扩展名的文件中找到所有具有“错误”字符串的行