所以我想让用户输入一个特定的消息,方法是粘贴它或者使用墙自己键入,然后使用墙,将其广播给所有用户。我的想法是,我不希望只有一行消息,而是允许在不使用文本文件的情况下获得他们想要的大消息。
我想出了这个:
...
elif [ $var -eq 3 ]
echo "Enter your broadcast message (When done, wait 2 seconds):"
broadcastThis= read -d '' -n 1 message
while broadcastThis=`read -d '' -n 1 -t 2 c`
do
message+=$c
done
wall <<< $message
fi
我收到错误说明以下内容:
脚本:第146行:警告:here-document在141行分隔 文件结束(想要`$ message')脚本:第147行:语法错误: 意外的文件结尾
我真的被困在这一点上,似乎有一个关于墙如何接受变量$ message的问题。
修改 我做了devnull建议的更改,但现在只播放用户输入的第一个字母。
答案 0 :(得分:1)
<<
表示here document。
你正在寻找的是一个不法之处:
wall <<< "$message"
如果您需要此处的文档,则需要使用正确的语法:
wall << DELIMITER
"$message"
DELIMITER