有没有办法从 bash 脚本调用完全隔离的子 shell?我的意思是,被调用的子 shell 不会有任何从其父级继承的变量。这本质上就是我想要实现的目标
env -i "$BASH" -c 'your code here'
Run Code Online (Sandbox Code Playgroud)
将启动一个新的解释器在最初空的环境中bash
进行解释。your code here
由于它是一个新bash
实例,它不会继承别名、位置参数、未导出的变量、函数。
使用env -i
它也不会继承导出的变量和函数(由调用定义bash
或可能从之前继承)。
它仍然会继承在 fork 和命令执行中保留的一些其他类型的属性,例如umask
,在没有 close-on-exec 标志的情况下打开的文件描述符、限制、一些信号配置(例如trap '' INT
调用者中的 a 也会导致 SIGINT 被忽略)在被调用者中)。
归档时间: |
|
查看次数: |
3168 次 |
最近记录: |