可以说我有一个包含条目的文件,
文件:
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