linux – 一个使用另一个bash命令输出的bash命令
发布时间:2020-12-13 23:53:12 所属栏目:Linux 来源:网络整理
导读:我在谷歌云有一组机器. 来自我的localhost: gcloud compute instance-groups list-instances workersOUTPUT:NAME ZONE STATUSworkers-lya2 us-central1-a RUNNING workers-23d4 us-central1-a RUNNING ...workers-3asd3 us-central1-a RUNNING 我想从该列表
我在谷歌云有一组机器.
来自我的localhost: gcloud compute instance-groups list-instances workers OUTPUT: NAME ZONE STATUS workers-lya2 us-central1-a RUNNING workers-23d4 us-central1-a RUNNING ... workers-3asd3 us-central1-a RUNNING 我想从该列表中选择一个随机工作者名称(比如workers-23d4),然后从第一个命令开始区域us-central1-m并将其粘贴到此命令中: gcloud compute --project "my-project" ssh --zone "<zone_name_from_first_command> "<machine_name_from_first_command>" bash上的一点点弱点.请帮忙 解决方法gcloud compute instance-groups list-instances workers | grep -v "^NAME" | shuf -n 1 | awk '{print $1,$2}' | while read machine zone; do export SELECTED_MACHINE="$machine" export SELECTED_ZONE="$zone" done gcloud compute --project "my-project" ssh --zone "$SELECTED_ZONE" "$SELECTED_MACHINE" > grep -v“^ NAME”剥离所有以NAME开头的行(假设它只是你要剥离的第一行) 更新:上面的代码适用于zsh,但不适用于bash,因为bash运行子shell(zsh不)和 machine_zone=$(gcloud compute instance-groups list-instances workers | grep -v "^NAME" | shuf -n 1 | awk '{print $1,$2}') read machine zone <<< $machine_zone gcloud compute --project "my-project" ssh --zone "$zone" "$machine" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |