#!/usr/bin/env bash
tt=0
one(){
echo "Please enter some input: "
read input_variable
echo "You entered: $input_variable"
tt=$input_variable
}
tho(){
if $tt >0; then
{
for i in {1..100000}
do
echo $i $i
sleep 2s
done
}
fi
}
(one ; tho) &
이것은 제가 하고 싶은 일의 작은 예일 뿐입니다. 사용자가 입력을 제공하고 tho()
실행이 시작되는 데 시간이 걸립니다 . tho()
사용자가 입력 변수를 제공한 후(아마 2일 후) 실행하고 싶습니다 . 어떤 제안이라도 좋을 것입니다!
답변1
사용자 입력을 읽는 부분은 포그라운드에서 실행되어야 합니다. 포그라운드 프로세스만 터미널에서 데이터를 읽을 수 있습니다.
if 조건의 구문은 의미가 없습니다. $tt >0
이름이 변수¹에 있는 명령을 실행 tt
하고 해당 출력을 이름이 지정된 명령으로 리디렉션합니다 0
. 숫자를 비교하려면 [ … ]
조건식 구문이나 ((…))
산술식 구문을 사용합니다.
if 문의 중괄호는 쓸모가 없습니다. then … fi
동일한 그룹이 이미 생성되었습니다.
{1..100000}
100,000 단어로 확장하여 하나씩 처리합니다. 루프를 100,000번 실행하려면 루프 카운터를 사용하십시오.
2초마다 한 줄을 인쇄하는 것은 나에게는 이해가 되지 않지만, 당신이 무엇을 하고 싶은지 모르기 때문에 그대로 두겠습니다.
#!/bin/bash
one () {
echo "Please enter some input: "
read tt
echo "You entered: $tt"
}
tho () {
if [ "$tt" -gt 0 ]; then
for ((i=0; i<=100000; i++)); do
echo $i $i
sleep 2s
done
fi
}
one
tho
tho
이 섹션을 백그라운드에서 실행 하려면 &
나중에 추가하세요 tho
.
아마도 .