2016-12-26 2 views
0

В моем shellFile.sh я написал эту функцию:функция Exceuting в Shell файл из команды

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

Я пытался вызвать функцию из командной строки таким образом:

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 за пределами функции. –

Смежные вопросы