RHEL 8 AWS EC2 实例的终端中的以下命令需要使用什么语法才能仅返回有效的实例 ID,而不是当前返回的损坏值?
$ myinstid=$(curl http://169.254.169.254/latest/meta-data/instance-id)
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 19 100 19 0 0 9500 0 --:--:-- --:--:-- --:--:-- 9500
$ $myinstid
-bash: i-0u7t5y86blahblah: command not found
我们想要返回的值$myinstid
是i-0u7t5y86blahblah
和 NOT -bash: i-0u7t5y86blahblah: command not found
。
答案1
您应该回显该变量以输出其值。echo "$myinstid"
您正在将 的值设置myinstid
为命令的输出curl http://169.254.169.254/latest/meta-data/instance-id
。在您的情况下,命令的输出似乎是i-0u7t5y86blahblah
.然后,您要求 bashmyinstid
在 shell 中运行该变量,从所有意图和目的来看,这与尝试i-0u7t5y86blahblah
作为命令运行是一样的。这就是您收到 bash 错误的原因i-0u7t5y86blahblah: command not found
。