나는 동등한 것을 찾고 싶습니다
cmd 1 && cmd 2 && ... && cmd 20
그러나 for
같은 루프 내에서 표현 된 명령
for i in {1..20}
do
cmd $i
done
첫 번째와 동등한 것을 찾기 위해 두 번째 표현에서 무엇을 제안 하시겠습니까?
나는 동등한 것을 찾고 싶습니다
cmd 1 && cmd 2 && ... && cmd 20
그러나 for
같은 루프 내에서 표현 된 명령
for i in {1..20}
do
cmd $i
done
첫 번째와 동등한 것을 찾기 위해 두 번째 표현에서 무엇을 제안 하시겠습니까?
답변:
더러운 한 줄 솔루션을 원하면 명령을 만들어 bash에 보낼 수 있습니다.
echo "cmd "{1..20}" &&" : | bash
그들 중 하나가 실패하면 루프에서 벗어날 수 있습니다
for i in {1..55}; do
if ! cmd $i; then
exit 1
fi
done
break
거기에 합법적 이지 않습니까? 나는 그 if
진술이 간섭하지 않는다고 확신한다 ..
이것이 내가 터미널에서 내 작업을 사용하지 않고 실행하는 방법입니다 &&
for i in google.com yahoo.com;do ping -c1 $i;echo $i;done
이 명령을 스크립트에 넣어야합니다
for i in google.com yahoo.com
do echo $i;ping -c1 $i;
done
둘 다 나에게 같은 결과를 낸다
google.com PING google.com (172.217.26.174) 56 (84) 바이트의 데이터. google.com에서 64 바이트 (172.217.26.174) : icmp_seq = 1 ttl = 56 time = 259ms
--- google.com ping 통계 --- 1 개의 패킷 전송, 1 개의 수신, 0 % 패킷 손실, 시간 0ms rtt min / avg / max / mdev = 259.794 / 259.794 / 259.794 / 0.000 ms yahoo.com PING yahoo.com ( 98.138.253.109) 56 (84) 바이트의 데이터. yahoo.com에서 64 바이트 (98.138.253.109) : icmp_seq = 1 ttl = 51 time = 398 ms
--- yahoo.com ping 통계 --- 1 패킷 전송, 1 수신, 0 % 패킷 손실, 시간 0ms rtt min / avg / max / mdev = 398.974 / 398.974 / 398.974 / 0.000 ms
cmd && cmd