Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何更改我的bash_配置文件,以读取并公开在一些脚本文件中定义的所有func()?_Bash - Fatal编程技术网

如何更改我的bash_配置文件,以读取并公开在一些脚本文件中定义的所有func()?

如何更改我的bash_配置文件,以读取并公开在一些脚本文件中定义的所有func()?,bash,Bash,我这里和那里都有一些 一些 func()在其中定义 我想更改我的bash_配置文件以读取所有文件并将其暴露到我的bash shell中您必须将包含这些文件的目录添加到您的路径中。 通过在~/.profile中指定,您可以在每次登录时自动完成此操作,如下所示: # assuming $HOME/.bin contains your .sh files if [ -d "$HOME/.bin" ] ; then PATH="$HOME/.bin:$PATH" fi 然后,将文件设置为可执行

我这里和那里都有一些 一些
func()
在其中定义
我想更改我的
bash_配置文件
以读取所有文件并将其暴露到我的bash shell中

您必须将包含这些文件的目录添加到您的路径中。 通过在
~/.profile
中指定,您可以在每次登录时自动完成此操作,如下所示:

# assuming $HOME/.bin contains your .sh files
if [ -d "$HOME/.bin" ] ; then
    PATH="$HOME/.bin:$PATH"
fi
然后,将文件设置为可执行文件(
chmod+x/path/to/file
),并将其作为常规shell命令调用。可以使用参数指定要调用的函数,方法如下:

case "$1" in
"func1")
    func1
    ;;
"func2")
    func2
    ;;
esac

您必须将包含这些文件的目录添加到您的路径中。 通过在
~/.profile
中指定,您可以在每次登录时自动完成此操作,如下所示:

# assuming $HOME/.bin contains your .sh files
if [ -d "$HOME/.bin" ] ; then
    PATH="$HOME/.bin:$PATH"
fi
然后,将文件设置为可执行文件(
chmod+x/path/to/file
),并将其作为常规shell命令调用。可以使用参数指定要调用的函数,方法如下:

case "$1" in
"func1")
    func1
    ;;
"func2")
    func2
    ;;
esac

您需要确保在
.sh
中没有调用有害代码。理想情况下,它应该只包含函数。然后您可以
source
文件

我做了一个简单的测试:

$ cat ./test.sh
function test_source() {
   echo "** Called with $1"
}
和采购/调用:

$ . test.sh
$ test_source asd
** Called with asd
因此,一旦您对其进行了测试,就可以将其添加到您的
~/.profile
~/.bash\u profile
中,方法是从那里获取:

if [ -f "/path/to/your/dotsh.sh" ] ; then
    source "/path/to/your/dotsh.sh"
fi

注销、登录(或打开一个新的终端)并且这些功能应该对您可用

您需要确保在
.sh
中没有调用有害代码。理想情况下,它应该只包含函数。然后您可以
source
文件

我做了一个简单的测试:

$ cat ./test.sh
function test_source() {
   echo "** Called with $1"
}
和采购/调用:

$ . test.sh
$ test_source asd
** Called with asd
因此,一旦您对其进行了测试,就可以将其添加到您的
~/.profile
~/.bash\u profile
中,方法是从那里获取:

if [ -f "/path/to/your/dotsh.sh" ] ; then
    source "/path/to/your/dotsh.sh"
fi

注销、登录(或打开一个新的终端)并且这些功能应该对您可用

我认为这会将文件夹添加到路径中,但不会公开这些文件中的功能我认为这会将文件夹添加到路径中,但不会公开这些文件中的功能我不太理解您的问题,你被困的地方。是如何将函数组织到文件库中,还是如何包含它们?后者称为寻源,由
完成/path/to/your/file
。我不太明白你的问题,你被困在哪里了。是如何将函数组织到文件库中,还是如何包含它们?后者称为寻源,由
完成/路径/到/您的/文件