別の関数内で関数を呼び出す方法


12

サーバーのリソースを監視するために、実際にはシェルスクリプトで作業しています。関数があり、知りたい:メイン関数内で2番目の関数を呼び出すにはどうすればよいですか?

例:

funct mainfunct(){

echo "Text to show here" **$secondfunct**

}

funct secondfunct(){
commands
}

2番目の関数の本体に最初の関数の名前を書き込みますか?
2016年

1
あれは何の殻?「機能」の部分はわかりません。
Jeff Schaller

回答:


14

kshまたはbashでは、

mainfunct() {
  echo "Text to show here" $(secondfunct)
}

secondfunct() {
  echo commands here
}

mainfunct

以下を生成します。

ここにコマンドを表示するテキスト


1
$(secondfunct)ここsecondfunctでは、末尾の改行文字をすべて削除した標準出力に、split + glob演算子を適用した結果の単語に展開されることに注意してください。
ステファンChazelas

1
bashとに限定されませんksh。これは、どのPOSIXシェルでも動作します(ashやzshなどの一部の非POSIXシェルでも動作します(ただし、zshはglob部分を実行せず、NULバイトを
抑制し

4
android@localhost:~/test$ cat fun.sh
function myname {
  echo "my name is raja"
}

function call {
  myname
}
call

笑これは、.bashrcファイルで宣言されている他の関数を呼び出すために私がしなければならなかったすべてです
takanuva15
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.