小编Le_*_*een的帖子

在 ZSH 中使用陷阱退出 shell 脚本的正确方法?

我无法在不退出 shell 的情况下让 Zshell 脚本中的陷阱函数工作。我有一个简单的倒数计时器,我希望能够使用 ^C 中断它,当我这样做时,我希望陷阱更改终端中的光标状态。

我的语法是:

#!/bin/zsh

trap 'tput cnorm; exit' INT TERM
Run Code Online (Sandbox Code Playgroud)

我也试过:

trap 'tput cnorm; kill -9 $$' INT TERM
Run Code Online (Sandbox Code Playgroud)

两个中断都完全退出 shell。如何只退出脚本并返回命令行?

任何指导将不胜感激!

shell scripting command-line zsh

4
推荐指数
1
解决办法
1410
查看次数

While 循环中的 Python Walrus 运算符

我试图理解海象赋值运算符。

当条件在循环内重新分配为 False 时,经典 while 循环会中断。

x = True
while x:
    print('hello')
    x = False
Run Code Online (Sandbox Code Playgroud)

为什么这不能使用 walrus 运算符?它忽略 x 的重新分配,产生无限循环。

while x := True:
    print('hello')
    x = False
Run Code Online (Sandbox Code Playgroud)

python while-loop control-flow python-3.8 walrus-operator

4
推荐指数
2
解决办法
1030
查看次数