gpt4 book ai didi

linux - 当用户想要关闭它时从 bash 脚本的 STDIN 退出

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:40:00 25 4
gpt4 key购买 nike

我正在通过 bash 脚本自动创建文件。我生成了一个文件 rc_notes.txt,其中包含来自两个标签的提交消息,我想在新文件中将其重写为 rc_device.txt

我希望用户编写客户发行说明并退出我在终端中提示的 BASH STDIN

我的脚本中的问题是我无法捕获文件的关闭。

想知道怎么做。我不想捕获关闭信号。我想输入魔术字符串示例:Done 或触发 STDIN 关闭的一些字符串,从脚本中正常退出。


我的脚本:

#/bin/bash

set -e


echo "Creating the release candiate text"
rc_file=rc_updater_notes.txt
echo "=========Reading the released commit message file=========="
cat $rc_file
echo "=========End of the commit message file=========="

echo "Now write the release notes"

#exec < /dev/tty
while read line
do
echo "$line"
done < "${1:-/dev/stdin}" > rc_file.txt

它确实创建了文件,但我需要通过输入 ctrl+Dctrl+z 手动退出。我不想那样做。有什么建议吗?

最佳答案

当输入“Done”时打破循环

while read line
do
if [[ $line = Done ]]; then
break;
fi
echo "$line"
done < "${1:-/dev/stdin}" > rc_file.txt

while read line && [[ $line != Done ]]
do
echo "$line"
done < "${1:-/dev/stdin}" > rc_file.txt

关于linux - 当用户想要关闭它时从 bash 脚本的 STDIN 退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43869760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com