У меня есть следующий сценарий, где переменные ($1
) внутри переменной ($ARG
) должен быть заменен:переменной внутри переменной в случае Баш
#! /bin/bash
ARGS="-enable-kvm -hda /root/"$1".raw -display vnc=:"$1""
do_start()
{
echo $ARGS
}
case "$1" in
start)
for i in {1..5}; do
do_start $i
done
;;
esac
Однако, если я выполнить скрипт с ./scriptname start
затем выход следующей :
-enable-kvm -hda /root/start.raw -display vnc=:start
-enable-kvm -hda /root/start.raw -display vnc=:start
-enable-kvm -hda /root/start.raw -display vnc=:start
-enable-kvm -hda /root/start.raw -display vnc=:start
-enable-kvm -hda /root/start.raw -display vnc=:start
Как заменить переменную внутреннюю переменную в случае bash?
место двойные кавычки '$ ARGS' в определении' do_start() ' – Pankrates
Или, скорее, нет. См. BashFAQ # 50: http://mywiki.wooledge.org/BashFAQ/050 –