我尝试了测试,但它似乎不能按照手册上说的方式工作-从
help set
中可以看到:
-t 读取并执行一个命令后退出。
我进行了几个不同的测试:
对于这个测试,在终端上没有输出。
#!/usr/bin/env bash
set -t
echo "test"
对于这个问题,运行它,然后在终端中运行echo $TEST_VAR
,显示$TEST_VAR
为空。
#!/usr/bin/env bash
set -t
export TEST_VAR="test"
set -t
这个命令的真正作用是什么?它可以如何使用,你能给出一个例子吗?
export
(或任何其他赋值操作)永远不会更改父进程shell中的变量,因此在调用shell终端中测试$TEST_VAR
并不特别有意义--无论在何处进行测试,其行为都是相同的,无论是否设置了-t
或任何其他标志,这些都是在一个fork()
创建的子进程中调用脚本后发生的。 - Charles Duffy