如何在其他函数中执行bash函数

时间:2016-02-01 12:02:01

标签: bash cygwin

我有这段代码:

myecho() {
    if [ -z "$1" ]
        then
            echo "if";
    else
        echo "else";
    fi
}
alias myecho=myecho

callmyecho() {

        append="stuff";
        myechoResult='myecho'; #`myecho` wont execute here!
        echo $myechoResult$append 
}

如何在myecho内执行callmyecho并为其添加新文字?

1 个答案:

答案 0 :(得分:1)

按如下方式编辑代码:

#!/bin/bash

myecho() {
  if [ -z "$1" ]; then
      echo "if"
  else
      echo "else"
  fi
}

callmyecho() {
  append="stuff"
  myechoResult=`myecho`
  echo $myechoResult$append
}

# callmyecho

如果您想在文件中调用callmyecho并让其在其区块内执行myecho功能,只需取消注释callmyecho即可删除'#'。

另一方面,如果要从终端调用callmyecho函数,请首先获取文件脚本,如下所示:

$ source ./file

然后你可以调用该文件脚本中的任何函数,它将执行。