在Linux系统下,Shell脚本可以在各种情况下帮助我们,比如显示信息,甚至自动执行特定的系统管理任务,创建简单的命令行工具等等.在本指南中,我们将向Linux新手展示如何可靠地存储自定义shell脚本,解释如何编写shell函数和库,以及在其他脚本中使用库中的函数。在哪里存储shell脚本为了执行您自己的脚本而不必输入脚本所在位置的完整路径或绝对路径,脚本必须存储在$PATH环境变量定义的路径之一中。使用以下命令查看系统中的$PATH环境变量:$echo$PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games一般来说,如果用户的主目录下有一个叫bin的目录,你可以在该目录下存放shell脚本,因为该目录会自动包含在用户的主目录下。在.的$PATH环境变量中。因此,在你的home目录下创建一个bin目录(当然也可以用来存放Perl、Awk或Python脚本,或者其他程序):$mkdir~/bin接下来创建一个名为lib(libraries的缩写)的目录存放自己的函数库的目录。也可以在里面存放其他编程语言的函数库,比如C、Python等语言。在lib目录下再创建一个名为sh的目录,这个目录将用来存放你的shell函数库:$mkdir-p~/lib/sh创建你自己的shell函数和函数库脚本中有一个shell函数一组命令完成特定任务的。它们的工作方式类似于其他编程语言中的过程(LCTT译注:可能指的是SQL中的存储过程)、子例程和函数。写函数的语法如下:functionname(){aseriesofcommands}(LCTT校验:可以在函数名前加上function关键字,也可以省略)比如可以写在a脚本如下一个用来显示日期的函数:showDATE(){date;}每当需要显示日期的时候,只要调用函数的函数名:$showDATE简单来说,shell函数库也是一个shell脚本,但是你可以只将需要在其他shell脚本中调用的函数存储在一个函数库中。下面显示的是我的~/lib/sh目录中名为libMYFUNCS.sh的库函数:
do
echo$DIR
doneIFS="$oldifs"###restoreoldinternalfieldseparator}###FunctiontoshowloggedusershowUSERS(){echo-e"Belowaretheuserloggedonthesystem:\n"w}###Printauser的详细信息printUSERDETS(){oldifs="$IFS"###storeoldinternalfieldseparatorIFS=:###specifyanewinternalfieldseparatorread-p"Enterusernametobesearched:"uname###readusernameecho""###readandstorefromaherestringvaluesintovariables###using:asafielddelimiterread-rusernamecompassuid
