是否有办法告诉bash脚本不要从父shell导入任何变量,即忽略导出的变量。在slurm--export=NONE
中有这样的功能,所以我想知道是否有一个选项可以放在#!/bin/bash
行中以获得类似的行为。
在linux上,我发现最干净的选项是:
#!/usr/bin/env -S - bash
env
where for me打印:
PWD=/home/allan
SHLVL=1
_=/usr/bin/env
另一个选项是:
#!/usr/bin/env bash
[ -n "$HOME" ] && exec -c "$0"
env
可以使用$BASH_SOURCE[0]
代替$0
,后者可由用户设置。但是,$BASH_SOURCE并不总是设置的。硬编码脚本路径可以工作,但这很难看。