有沒有辦法告訴 bash 腳本不要從父 shell 匯入任何變數,即忽略匯出的變數。slurm 有這樣的能力,--export=NONE所以我想知道是否有一個選項可以讓我#!/bin/bash獲得類似的行為。
uj5u.com熱心網友回復:
在 linux 上,我發現的最干凈的選項是:
#!/usr/bin/env -S - bash
env
對我來說列印:
PWD=/home/allan
SHLVL=1
_=/usr/bin/env
另一種選擇是:
#!/usr/bin/env bash
[ -n "$HOME" ] && exec -c "$0"
env
可以使用$BASH_SOURCE[0]代替后者,$0因為后者可以由用戶設定。然而,$BASH_SOURCE 并不總是被設定。硬編碼腳本路徑會起作用,但這很難看。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/531352.html
標籤:重击壳闷闷不乐
下一篇:sed分組中缺少字符
