bash 명령의 범위를 좁히기 위해 인수를 사용하고 싶습니다.
나는 항상 내 인터넷 제공업체와 다른 제공업체를 확인합니다.무료 및 공용 DNS 서버아래 코드는 다음에서 실행됩니다.멀티플렉서, 하지만 축소하여 더 좋게 만드는 방법이 궁금하십니까? 어떤 아이디어가 있나요?
tmux neww ;
tmux split-window -v 'ping 8.8.8.8' \;
split-window -v 'ping 1.1.1.1' \;
\select-pane -t 1 \;
split-window -h 'ping 8.8.4.4' \;
\select-pane -t 3 \;
split-window -h 'ping 1.0.0.1' \;
\select-pane -t 0 \;
split-window -h 'ping 76.76.2.5' \;
split-window -v 'ping 76.76.19.19' \;
\select-pane -t 0 \;
split-window -v 'ping 208.67.220.220' \;
\select-pane -t 0 \;
split-window -v 'ping 208.67.222.222'
필요한 솔루션
$ pp
정의된 매개변수가 없으면 tmux neww \; split-window …
미리 정의된 IP 주소를 사용하여 실행이 수행됩니다.
$ pp 1.1.1.1 1.0.0.1
단일 또는 다중 매개변수를 사용하여 tmux neww \; split-window …
정의된 IP 주소(가급적 사전 정의된 IP 주소)로 실행합니다 .
정의하려고 노력하고 ~/.bash_aliases
,
실제 코드입니다
# check multiple round-trip time (RTT)
dnscheck() { # compare multiple DNS servers using `ping`
tmux split-window -v 'ping 8.8.8.8' \; split-window -v 'ping 1.1.1.1' \; \select-pane -t 1 \; split-window -h 'ping 8.8.4.4' \; \select-pane -t 3 \; split-window -h 'ping 1.0.0.1' \; \select-pane -t 0 \; split-window -h 'ping 76.76.2.5' \; split-window -v 'ping 76.76.19.19' \; \select-pane -t 0 \; split-window -v 'ping 208.67.220.220' \; \select-pane -t 0 \; split-window -v 'ping 208.67.222.222' ; exit
}
mping() { # multiple pings
[[ -z ${1} ]] && tmux neww dnscheck; # run dnscheck() if no argument
tmux neww ping ${1} \; split-window -v ping ${2} \; split-window -h -t 0 ping ${3} \; split-window -h -t 2 ping ${4}
}
alias tp="tmux neww -n pingR ping 0 -c 3 \; select-window -t pingR ; dnscheck" # Expected to run dnscheck in new window
alias pp="mping"
지금
tp
dnscheck
새로운 실행에서멀티플렉스 창구올바르게 (약간의 해킹으로ping 0 -c 3
:)pp 0 0 0 0
일도 끝낼 수 있어
pp
그러나 실행을 위한 기본값을 얻기 위해 병합하는 방법을 알 수 없습니다.tp