我正在尝试使用以下脚本多次将行从终端发送到文本文件。在第二行写下第一行及其描述后,脚本会询问用户是否要输入另一行。如果是,则用户写入第 3 行、第 4 行,依此类推...
我的问题是在第 2 行之后,即从第 3 行开始,脚本只写第一个单词,而不是完整的句子。我该如何解决这个问题?
function ml() {
echo $@ >> $HOME/path/to/file/filename
echo -n "Enter description and press [ENTER]: "
read description
echo -e '\n[\t]' $description >> $HOME/path/to/file/myfile
while true
do
read -p "Add another line?y?n" -n 1 -r
echo -e "\n"
if [[ $REPLY =~ ^[Yy]$ ]]
then
echo -n "Enter another line and press [ENTER]: "
read -a meaning
echo -e "[\t]" $meaning >> $HOME/path/to/file/myfile
else
break
fi
done
echo % >> $HOME/path/to/file/myfile
}
我也想对代码进行另一次修改
read -p "Add another line?y?n" -n 1 -r
而不是询问 y/n 输入,是否可以在插入前两行后,每个 ENTER 将要求另一行输入并按 ESCAPE 将终止脚本?