使Bash模块化

杰森

我有一堆Bash脚本,它们每个都使用以下内容:

BIN_CHATTR="/usr/bin/chattr"
BIN_CHKCONFIG="/sbin/chkconfig";
BIN_WGET="/usr/bin/wget";
BIN_TOUCH="/bin/touch";
BIN_TAR="/bin/tar";
BIN_CHMOD="/bin/chmod";
BIN_CHOWN="/bin/chown";
BIN_ECHO="/bin/echo";
BIN_GUNZIP="/usr/bin/gunzip";
BIN_PATCH="/usr/bin/patch";
BIN_FIND="/usr/bin/find";
BIN_RM="/bin/rm";
BIN_USERDEL="/usr/sbin/userdel";
BIN_GROUPDEL="/usr/sbin/groupdel";
BIN_MOUNT="/bin/mount";

有没有一种方法可以让我获得具有类似全局设置的Bash脚本,然后将其包含在我要运行的脚本中?

linuxfan

是的你可以。只需将变量和函数添加到文件中,使其成为可执行文件,然后在需要访问它们的任何脚本的顶部将其“执行”即可。这是一个例子:

$ pwd
/Users/joe/shell

$ cat lib.sh 
#!/bin/bash
BIN_WGET="/usr/bin/wget"
BIN_MOUNT="/bin/mount"

function test() {
    echo "This is a test"
}

$ cat script.sh 
#!/bin/bash

. /Users/joe/shell/lib.sh

echo "wget=$BIN_WGET"

test


$ ./script.sh 
wget=/usr/bin/wget
This is a test

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章