в моем сценарии bash я пытаюсь передать от функции (function_2) переменную к функции (function_1), к сожалению, я не нашел, как это сделать правильно: (
Я ищу в Интернете, но все время нахожусь на другом языке (ruby, python и т. д.), Я пытаюсь сделать то же самое, но безуспешно :(
function_1(){
echo "The value of : $VAR in function_2"
}
function_2(){
echo "the value of var if function_1 is : $VAR "
function_1
}
while getopts s: opt; do
case $opt in
s) VAR=$OPTARG
function_2
;;
esac
done
Вы можете передать переменную в качестве аргумента функции, когда вы вызываете function_1, например:
function_1(){
VAR=$1
echo "The value of : $VAR in function_2"
}
function_2(){
echo "the value of var if function_1 is : $VAR "
function_1 $VAR
}
while getopts s: opt; do
case $opt in
s) VAR=$OPTARG
function_2
;;
esac
done
обратите внимание, что вы можете напрямую получить доступ к переданной переменной как $ 1 в function_1, не назначая ее VAR
Аргументы, передаваемые функциям как параметры в трепать, доступны с $1
, $2
...
function_1() {
echo "The value of passed parameter in function_2 is: $1"
}
function_2() {
echo "the value of var in function_1 is: $VAR"
function_1 $VAR
}
while getopts s: opt; do
case $opt in
s) VAR=$OPTARG
function_2
;;
esac
done