加上 set -u 之后
再写一个「未定义就报错」的版本,和默认行为比一比。
开始练习 →
if 判断的到底是什么
shell 里 if 某条命令; then … 判断的是【0】。
开始练习 →
哪个数表示成功
在 shell 里,一条命令的退出码是【0】表示成功。
开始练习 →
中括号是什么
if [ 1 -eq 1 ]; then 里那个中括号是【0】。
开始练习 →
true 和 false 的退出码
运行下面这段程序,填写它打印出来的结果。 def run(steps, stop_on_error=False): """steps 是一串退出码;返回 (跑了几条, 整个脚本的退出码)"&q
开始练习 →
判断走哪一支
运行下面这段程序,填写它打印出来的结果。 def run(steps, stop_on_error=False): """steps 是一串退出码;返回 (跑了几条, 整个脚本的退出码)"&q
开始练习 →
自己写:判断成不成功
补全 ok:退出码为 0 才算成功。
开始练习 →
按退出码选分支
给一串退出码,返回每一条各走哪一支。
开始练习 →
⚠️ 把 0 当成假会怎样
照着「0 是假」那套写判断,和 shell 的真实语义比一比。⚠️ 两种写法都不报错。
开始练习 →
for 循环遍历的是什么
for f in *.txt; do … done 里,f 每次拿到的是【0】。
开始练习 →