나는 다음 정확한 숫자를 예측하는 프로그램에 무작위 데이터를 공급하려고 노력해 왔습니다. 계속하려면 다른 옵션인 c를 사용하여 옵션 2로 연결되는 옵션 1에 대해 무한 루프 파이프라인을 실행하고 싶습니다. 그 이유는 무작위로 생성된 숫자에서 발견되는 패턴을 예측하도록 AI를 훈련해야 하기 때문입니다.
참고: 옵션 1과 옵션 2는 옵션 1을 선택한다는 의미이며 "1번과 2번을 입력하세요"라는 옵션이 표시됩니다.
이것이 쉘에서 프로그램의 모습입니다.
Select your choice.
1. Enter the newest number.
2. Find a new number.
-------------------------------------------------------------------
Select your choice.
1. Enter the newest number.
2. Find a new number.
Enter number 1.
Enter number 2.
Enter c to continue or 0 to quite
파이프라인이 작동하도록 하려고 했지만 실패했습니다.
./RNGAI | echo "1" | shuf -i 1-26 -n1 | echo "2" | shuf -i 1-26 -n1 | echo "c" | ./RNGAI
./RNGAI | echo "1" | echo $((RANDOM%10))| ./RNGAI & echo "2" | echo $((RANDOM%10)) & echo "c"
몇 가지 파이프를 시도한 후 오류가 발생했습니다. 이러한 파이프는 기술적으로 작동하지만 RNGAI 프로그램은 파이프를 사용하여 루프를 실행할 때마다 show -nan 오류를 발생시킵니다. 실행하려는 파이프라인과 스크립트는 다음과 같습니다.
while true
do
echo 1
echo $ od -A n -N 2 -t u2 /dev/random
echo 2
echo $ od -A n -N 2 -t u2 /dev/random
echo c
done | ./RNGAI
이것은 파이프입니다
while :; do printf "%s\n" 1 seq 1 26 | sort -R | head -n 1 2 seq 1 26 | sort -R | head -n 1 c; done | ./RNGAI
while :; do printf "%s\n" 1 od -A n -N 2 -t u2 /dev/random 2 $od -A n -N 2 -t u2 /dev/random c; done | ./RNGAI
while :; do printf "%s\n" 1 shuf -i 1-26 -n1 2 shuf -i 1-26 -n1 c; done | ./RNGAI
RNGAI 프로그램에서 오류가 발생함
Select your choice.
1. Enter the newest number.
2. Find a new number.
Enter number 1.
Enter number 2.
-nan
-nan
Enter c to continue or 0 to quite
Enter number 1.
Enter number 2.
-nan
-nan
답변1
나는 당신이 이것을 찾고 있다고 생각합니다 :
while true
do
echo 1
echo $((RANDOM % 10))
echo 2
echo $((RANDOM % 10))
echo c
done | ./RNGAI
또는 더 간결하게 말하면:
while :; do printf "%s\n" 1 $((RANDOM % 10)) 2 $((RANDOM % 10)) c; done | ./RNGAI
데이터를 프로그램에 파이프한 다음 입력하고 싶습니다.앞으로관로:
<source of input> | <command that uses the input>