항목을 찾을 때까지 반복한 다음 해당 항목을 사용합니다.

항목을 찾을 때까지 반복한 다음 해당 항목을 사용합니다.

항목이 포함된 파일이 있다고 가정해 보겠습니다.

문서:

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

관련 정보