터미널에서 프로그램을 X번 실행하려면 어떻게 해야 합니까?
bin/bash txt를 수행해야 한다는 내용을 읽었지만 이를 X번 실행하는 방법을 모르겠습니다.
답변1
답변2
터미널을 열고 다음 bash
명령을 사용하십시오.
for i in {1..5}; do xdotool click 1; done
약간의 장황함과 1초의 지연을 사용하여:
for i in {1..5}; do echo click \#$i && xdotool click 1 && sleep 1; done
click #1
click #2
click #3
click #4
click #5
답변3
이렇게 해야 합니다:
#!/bin/bash
x=1
while [ $x -le 10 ]
do
<command to run>
x=$(( $x + 1 ))
done
여기서 10은 명령을 실행하는 횟수입니다.
약간의 휴식 시간을 두고 구축해야 하는 경우:
#!/bin/bash
x=1
while [ $x -le 10 ]
do
<command to run>
sleep 1
x=$(( $x + 1 ))
done
스크립트를 빈 파일에 복사하고, 명령 <command to run>
으로 바꾸고 xdotool
, 다른 이름으로 저장하고 run_xdotool.sh
, 다음 명령으로 실행하세요.
sh /path/to/run_xdotool.sh
또는 실행 가능하게 만들고 간단히 실행할 수 있습니다.
/path/to/run_xdotool.sh
또 다른 해결책: xdotool에 내장된 반복 옵션 사용
클릭을 수행하는 데 사용한다고 언급하셨으므로 xdotool
에 내장된 반복 옵션을 사용하는 것이 가장 쉬운 방법일 수 있습니다. 형식은 다음과 같습니다.
xdotool click --delay <delay> --repeat <repeats> <button>
(delay in milliseconds between the clicks)
1초 간격으로 한 행에서 10번의 마우스 클릭(버튼 1)을 수행하려면 다음 명령을 사용하세요.
xdotool click --delay 1000 --repeat 10 1
답변4
변수를 사용하여 끝점을 지정할 수 있는 for
중괄호 확장 버전( )에 비해 이점이 있는 C 스타일 루프를 사용할 수 있습니다 . {1..5}
어느 버전이든 외부 유틸리티( seq
)를 사용하는 것보다 낫습니다.
t=5
for ((x = 1; x <= t; x++))
do
xdotool click 1
done
한 줄에 모두 :
t=5; for ((x = 1; x <= t; x++)); do xdotool click 1; done
또는 루프 없이 수행할 수도 있습니다(이 특정 유틸리티 및 기능의 경우).
xdotool click --repeat 5 --delay 50 1