mirror of https://github.com/hak5/openwrt.git
scripts/qemustart: more portable array operation
The following commands output 1,2,1,1 cmd0='a=("${a[@]}" 'a'); echo "${#a}"' cmd1='a+=('a'); echo "${#a}"' bash -c "$cmd0"; zsh -c "$cmd0" bash -c "$cmd1"; zsh -c "$cmd1" The following outputs 0,1,0,0 cmd2='f() { echo "$#"; }; f "${a[@]}"' cmd3="a=(); $cmd2" bash -c "$cmd2"; zsh -c "$cmd2" bash -c "$cmd3"; zsh -c "$cmd3" Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>openwrt-18.06
parent
c9c2e4d78d
commit
aa66aa0c9a
|
@ -117,6 +117,7 @@ rand_mac() {
|
||||||
}
|
}
|
||||||
|
|
||||||
parse_args() {
|
parse_args() {
|
||||||
|
o_qemu_extra=()
|
||||||
while [ "$#" -gt 0 ]; do
|
while [ "$#" -gt 0 ]; do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
--kernel) o_kernel="$2"; shift 2 ;;
|
--kernel) o_kernel="$2"; shift 2 ;;
|
||||||
|
@ -131,7 +132,7 @@ parse_args() {
|
||||||
elif [ -z "$o_subtarget" ]; then
|
elif [ -z "$o_subtarget" ]; then
|
||||||
o_subtarget="$1"
|
o_subtarget="$1"
|
||||||
else
|
else
|
||||||
o_qemu_extra=("${o_qemu_extra[@]}" "$1")
|
o_qemu_extra+=("$1")
|
||||||
fi
|
fi
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
|
@ -174,11 +175,10 @@ start_qemu_armvirt() {
|
||||||
if [ ! -f "$rootfs" -a -s "$rootfs.gz" ]; then
|
if [ ! -f "$rootfs" -a -s "$rootfs.gz" ]; then
|
||||||
gunzip "$rootfs.gz"
|
gunzip "$rootfs.gz"
|
||||||
fi
|
fi
|
||||||
o_qemu_extra=( \
|
o_qemu_extra+=( \
|
||||||
"-drive" "file=$rootfs,format=raw,if=virtio" \
|
"-drive" "file=$rootfs,format=raw,if=virtio" \
|
||||||
"-append" "root=/dev/vda rootwait" \
|
"-append" "root=/dev/vda rootwait" \
|
||||||
"${o_qemu_extra[@]}" \
|
)
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
"$qemu_exe" -machine virt -cpu "$cpu" -nographic \
|
"$qemu_exe" -machine virt -cpu "$cpu" -nographic \
|
||||||
|
|
Loading…
Reference in New Issue