Я хотів би написати функцію bash, де я надаю рядок, і вона присвоює значення "привіт" змінній із назвою цієї рядки. Я впевнений, що на це відповіли раніше, але я не знаю ключового слова для пошуку в керівництві.
myfunc() {
## some magic with $1
## please help me fill in here.
}
myfunc "myvar"
echo $myvar
> hi
Після відповіді. Спасибі, хлопці. Я написав функцію, щоб шукати змінну середовища і підказувати її, якщо її немає. Буду вдячний за будь-які покращення. Я вважаю, що це працює.
get_if_empty() {
varname=$1
eval test -z $`echo ${varname}`;
retcode=$?
if [ "0" = "$retcode" ]
then
eval echo -n "${varname} value: "
read `echo $1` # get the variable name
fi
eval echo "$1 = $`echo ${varname}`"
}
Ось використання:
get_if_empty MYVAR
Перевірте Посібник із розширеного сценарію Bash: tldp.org/LDP/abs/html/ivr.html
—
Андрій