1

我正在尝试编写一个脚本,将命令历史记录到临时 PID.cmd 文件中。当键盘上的组合键被击中时,我被困在如何结束脚本上。

until [ <CTRL+C> ]
do
    read -p "$PWD\$" cmd;
    echo "$cmd" >> $$.cmd
done
4

1 回答 1

1
while read -p "$PWD\$" cmd; do
    echo "$cmd" >> $$.cmd
    ...
done

当输入流结束时,循环将终止。如果 stdin 来自 tty,则在用户键入 ctrl-D 时会发生这种情况。 SIGINT也应该终止循环,因为读取将失败。(SIGINT响应 ctrl-C 发送。)

于 2012-11-16T21:50:26.460 回答