我正在尝试编写一个脚本,将命令历史记录记录到临时的PID.cmd文件中。当键盘上的键组合被击中时,我对如何结束脚本感到困惑。
until [ <CTRL+C> ]
do
read -p "$PWD\$" cmd;
echo "$cmd" >> $$.cmd
done
答案 0 :(得分:1)
while read -p "$PWD\$" cmd; do
echo "$cmd" >> $$.cmd
...
done
当输入流结束时,循环将终止。如果stdin来自tty,则当用户键入ctrl-D时会发生这种情况。 SIGINT
也应该终止循环,因为读取将失败。 (SIGINT
是为响应ctrl-C而发送的。)