
항목이 있는 파일이 있다고 가정해 보겠습니다.
파일:
user pts/1 2016-10-22 19:47 (ip)
user1 pts/2 2016-10-22 20:04 (ip)
user1 pts/3 2016-10-22 20:04 (ip)
사용자가 1-3 사이의 숫자(해당 파일의 행 수)를 누를 때까지 루프를 실행하고 싶습니다.
예를 들어 사용자가 1을 삽입하면 시스템이 해당 특정 pts에 메시지를 보내기를 원합니다(write user pts/1 명령 사용).
어떻게 든 가능합니까? 어디서부터 시작해야 할지 모르겠습니다.
답변1
나는 당신이 일을 너무 복잡하게 생각한다고 생각합니다.
다음은 번호를 요청한 후 해당 터미널에 메시지를 보내는 간단한 방법입니다.
#!/bin/bash
function getNumber()
{
pattern="[1-3]"
echo "Enter a number between 1 and 3"
read number
if [[ ! "$number" =~ $pattern ]]; then
echo "Wrong number"
getNumber
fi
}
getNumber
echo "Hello pts$number" > /dev/pts/$number
아래의 실행 샘플:
./pts.sh
Enter a number between 1 and 3
0
Wrong number
Enter a number between 1 and 3
4
Wrong number
Enter a number between 1 and 3
1
올바른 입력( 1
위) 시 다음과 같은 출력을 얻습니다 /dev/pts/1
.
[maulinglawns@ArchLinux slask]$ tty
/dev/pts/1
[maulinglawns@ArchLinux slask]$ Hello pts1