【发布时间】:2021-08-22 10:41:25
【问题描述】:
我想自动化这些命令:
qemu-arm -g 12358 exec &
gdb-multiarch -q --nh -ex 'set architecture arm' -ex 'file exec' -ex 'target remote localhost: 12358'
如果我尝试创建这个脚本
#!/bin/bash
read VAR1
qemu-arm -g "$VAR1" exec &
gdb-multiarch -q --nh -ex 'set architecture arm' -ex 'file exec' -ex 'target remote localhost: "$VAR1"'
它不起作用,我得到这个输出
The target architecture is assumed to be arm
Reading symbols from exec...
localhost: "$VAR1": cannot resolve name: Servname not supported for ai_socktype
localhost: "$VAR1": No such file or directory.
我不是 bash 脚本方面的专家,但我认为问题出在第二个 VAR1 的“”上,有办法解决吗?
【问题讨论】:
-
变量不在单引号内展开。
-
在这种试图了解发生了什么的情况下,请尝试激活跟踪模式,如this answer 中所述。您将在命令行被执行之前扩展您的命令行。