Есть ли способ в bash, чтобы понять имя переменной, которая ему передана?Имя переменной, переданной функции в bash
Пример:
var1=file1.txt
err_var=errorfile.txt
function func1 {
echo "func1: name of the variable is: " $1
echo "func1: value of variable is: " $1
echo
if [ ! -e $var1 ]
then
$1 = $err_val #is this even possible?
fi
func2 $1
}
function func2 {
echo "func2: name of the variable is: " $1
echo "func2: value of variable is: " $1
echo
}
func1 $var1
func1 $err_var
Я надеялся получить следующий результат, если file1.txt существует:
func1: name of the variable is: var1
func1: value of variable is: file1.txt
func2: name of the variable is: var1
func2: value of variable is: file1.txt
И когда file1.txt не существует:
func1: name of the variable is: var1
func1: value of variable is: file1.txt
func2: name of the variable is: err_var
func2: value of variable is: errorfile.txt
Есть идеи?
Что делать, если вы сделали 'FUNC1 "Foo"'? –
'-e' тесты для существования файла, а не переменное существование (или (не) пустота). –