gpt4 book ai didi

linux - 当命令作为变量传递时,如何在命令替换中包含 stdout/stderr 重定向?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:45:02 25 4
gpt4 key购买 nike

<分区>

我有以下脚本来检测我的网络在重启路由器后何时恢复:

#!/bin/bash
pingCommand="ping 192.168.1.1 -c 3 &>/dev/null"

while [[ ! $($pingCommand) ]]; do
sleep 3s;
done

但是,当在终端中运行时,它会打印:

ping: unknown host &>/dev/null

我使用 -x 选项运行脚本(以启用调试)并发现

ping 192.168.1.1 -c 3 &>/dev/null

在子shell中被执行为

ping 192.168.1.1 -c 3 '&>/dev/null'

如何更改我的命令替换调用,以便 bash 不在输出重定向周围放置单引号?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com