1

猫 global_features_script.sh

.child1_script.sh
.child2_script.sh

    function svn_credentials
    {
        echo -n "Enter the svn username and press [ENTER]: " > /dev/tty
        read svn_username
        echo -n "Enter the svn commit message and press [ENTER]: "  > /dev/tty
        read svn_message
        echo -n "Enter your svn password and press [ENTER]: "  > /dev/tty
        read -s svn_password
    }
    if [ a == b]
    then
    echo "a is equal to be b"
    else
    echo "a is not equal to b"
    fi

    function exit_error
    {
    echo " There is an error in the command, please check it"
    exit 1
    }

猫 child_script.sh

. global_features_script.sh
svn_wc=temp_dir
svn_credentials # calling function from global_features_script.sh
svn commit $svn_wc -m "$svn_message" --username $svn_username --password $svn_password

当我执行:。child_script.sh

预期输出:我只需要从 global_features_script.sh 运行一个函数(svn_credentails)

我得到的输出是:它调用所有其他函数以及 global_features_script.sh 中列出的其他 shell 脚本

4

1 回答 1

5

据我了解,. master_script.sh只会将主脚本插入到 的执行中child_script.sh,因此您实际上将同时运行这两个脚本。在我看来,最简单的事情就是创建一个common_functions.sh包含所有常用功能的头文件,然后在主文件或子文件中获取该头文件。

一个快速的语法说明,我建议使用source master_script.sh而不是.. 它在功能上应该是相同的,但它更简洁,更易读。

于 2012-07-13T18:17:39.867 回答