Мне интересно, можно ли сделать как JavaScript, вызывая переменную из функции, что-то вроде:
function myFunction(variable){
// do some stuff here
}
Затем мы вызываем это как:
myFunction('Hello World!');
Вот как с этим справиться:
convertSecs(){
seconds=$1
hours=$((seconds / 3600))
seconds=$((seconds % 3600))
minutes=$((seconds / 60))
seconds=$((seconds % 60))
echo "$hours hour(s) $minutes minute(s) $seconds second(s)"
}
convertSecs 3680
Спасибо за ваш совет
Нет, bash
дескрипторы это по-другому.
На самом деле bash
использование позиционный параметр (параметры) (аргументы) вместо того, чтобы непосредственно использовать обычное function_name(input_var)
формат.
Внутренняя часть функциональное определение, используйте $1
для первого аргумента функции, $2
для второго и так далее. При обращении функции просто ходите по пятам параметры после имени функции (поддержите желаемую последовательность).
Пример:
$ foo () { echo "This is $1" ;}
$ foo bar
This is bar
$ foo () { echo "First: $1; Second: $2" ;}
$ foo bar spam
First: bar; Second: spam