2016-12-26 1 views
0

からシェルファイル内の関数をExceuting私は、この関数を書いた:は私のshellFile.shでコマンド

#!/bin/bash 
myFunction(){ 
echo 1 
} 

は、私は、コマンドラインからこのように関数を呼び出すことを試みた。この2後

shellFile.sh 
shellFile.sh myFunction 

行は出力もエラーもない。私はこの質問が以前に尋ねられれば謝るが、私はそれを見つけることができなかった。

答えて

1

あなたが対話的にスクリプトを供給することができます機能を使用する場合は、コマンドラインから関数を呼び出し、この

#!/bin/bash 
myFunction(){ 
echo 1 
} 

myFunction 

のようなあなたのスクリプト内で、あなたの関数を呼び出すことができます。

あなたはスクリプトで関数を呼び出す必要が
$ source shellFile.sh 
$ myFunction 
1 
0

#!/bin/bash 
myFunction() { 
    echo 1 
} 
myFunction 
1

あなたは関数は、コマンドラインから利用できるようにしたい場合は、使用して、現在のシェルで関数を作成する必要がありますドット.コマンド、またはbashでそのworkalike source

$ . shellFile.sh 
$ myFunction 
1 
$ 
1

私はお勧め:

#!/bin/bash 
myFunction(){ 
    echo 1 
} 

$1 

使用法:./shellFile.sh myFunction

出力:

 
1 
+0

おかげで、これは動作しますが、あなたは関数の外$ 1使用している場合どのように引数を解析します。 –

関連する問題