2013-11-19 3 views
1

Давайте немного пример:с помощью функции без аргументов

$ cat fu.sh 
#!/usr/local/bin/bash 

function lsl() { 
    ls -1 
} 

function grps() { 
    lsl | grep fu.sh 
} 

echo "This file is: `grps`" 

Давайте запустим его, чтобы увидеть это работает, как мы хотим:

$ ./fu.sh 
This file is: fu.sh 

Итак - мы имеем функцию lsl которая вызывается из второй функции grps , Кроме того, мы вызывали функцию только grps в конце скрипта.

Вот вопрос - есть ли что-нибудь «необычное», «небезопасным» или может быть «раздражителем» и «не феншуй» - функцию называют без опции или аргумента, переданного ему ?

+2

Ваш вопрос определенно не 'bash'-specific, но нет - нет ничего плохого в такой функции, * пока функция делает именно то, что вы намеревались сделать для нее *. – admdrew

+2

В этом нет ничего плохого. если вам нужна функция, и вам не нужны аргументы, это то, что вы собираетесь использовать. – smcg

+2

В соответствующей заметке избегайте использования как ключевого слова 'function', так и скобок (см. [Здесь] (http://mywiki.wooledge.org/BashPitfalls#function_foo.28.29)). – mtth

ответ

1

Нет, в скрипте отмечается неправильное. Он будет работать правильно. Вам нужно ознакомиться с основами сценариев оболочки.

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