什么是;set-t";你在bash做什么?
我已经尝试过测试它,但它似乎不像手册上说的那样工作-从什么是;set-t";你在bash做什么?,bash,Bash,我已经尝试过测试它,但它似乎不像手册上说的那样工作-从帮助集: -读取并执行一个命令后,t退出 我尝试了两种不同的测试: 对于这个,没有输出到终端 #!/usr/bin/env bash set -t echo "test" 对于这一个,运行它,然后从终端运行echo$TEST\u VAR,显示$TEST\u VAR为空 #!/usr/bin/env bash set -t export TEST_VAR="test" set-t真正做的是什么?它可以如何使用的示例是什么?set-t
帮助集:
-读取并执行一个命令后,t退出
我尝试了两种不同的测试:
对于这个,没有输出到终端
#!/usr/bin/env bash
set -t
echo "test"
对于这一个,运行它,然后从终端运行echo$TEST\u VAR
,显示$TEST\u VAR
为空
#!/usr/bin/env bash
set -t
export TEST_VAR="test"
set-t
真正做的是什么?它可以如何使用的示例是什么?set-t
会导致bash立即退出,因为它成为退出之前读取和执行的一个命令。它可能是用来创建一个临时shell的。有关其使用位置的示例,请参见
对于这个运行它,然后从
终端显示$TEST_VAR为空
#!/usr/bin/env bash
set-t
导出测试\u VAR=“测试”
当然,当您重新打开新的终端时,它处于另一个环境中
它已经完成并仅应用于其第一个终端环境。。证明它
set -t;>test
重新打开终端,它将是新的test
文件运行export
(或子shell中的任何其他赋值)不会更改父进程shell中的变量,因此在调用shell的终端中测试$test\u VAR
并没有特别的意义——在任何地方都会得到相同的行为,无论-t
或在fork()
ed off子进程中调用脚本后设置的任何其他标志。