从其他功能打印

时间:2018-04-07 12:39:53

标签: linux bash function shell variables

为了节省代码行的空间,我需要构建一个函数来打印另一个函数提供的信息,例如:

# (1-1) Install APP
function installapp {
  echo "APP description goes here."
  echo "Installing..."
  xterm -e apt-get install app
  echo "APP Was Successfully Installed"
  echo "Run APP From The Menu"
  echo "Press Enter To Return To Menu"
  read input
}

我想知道的是我如何把它变成这样的东西:

# (1-1) Install APP
function installapp {
  echo "APP description goes here."
  echo "Installing..."
  xterm -e apt-get install app
  echo -e "$done(APP)"
  read input
}

$done()函数包含上面引用的所有结束信息。

1 个答案:

答案 0 :(得分:2)

你在找这样的东西吗?

installdone () {
    echo "$1 Was Successfully Installed"
    echo "Run $1 From The Menu"
    echo "Press Enter To Return To Menu"
}
installapp () {
      echo "APP description goes here."
      echo "Installing..."
      xterm -e apt-get install app
      installdone APP
      read input
 }

注意POSIX兼容函数声明的首选项(没有function关键字,这是一个相当无用的Bashism)并且当函数打印的东西完全正常时,不需要说echo "$(installdone APP)"本身。

如果这是我的程序,我还会将read input放在done函数中(或者可能完全省略它;为什么某人想要那个?)或者也许将此更彻底地重构到可以完全禁用诊断颤振的程度。