Linux
無法在腳本中導出變數
我一直在嘗試按照文件設置一個 borg 自動備份腳本。由於某種原因,當我嘗試寫入受 sudo 保護的加密驅動器時,我的腳本無法看到它的變數。
例如,像這樣的東西作為腳本工作,因為腳本不會再次詢問我密碼。
#!/bin/sh DATE=$(date --iso-8601)-$(hostname) TARGET=~/Documents/borg export BORG_PASSPHRASE="whatever" borg init --encryption=repokey $TARGET borg create $TARGET::$DATE-$$ ~/Desktop/TestFolder/1
但是,當我安裝一個外部 FDE 實現的驅動器時,它會忽略導出的密碼,而且奇怪的是“repokey”加密模式。
#!/bin/sh DATE=$(date --iso-8601)-$(hostname) TARGET=~/X/borg export BORG_PASSPHRASE="whatever" sudo borg init --encryption=repokey $TARGET sudo borg create $BORG_OPTS $TARGET::$DATE-$$ ~/Desktop/TestFolder/1
我對 Linux 還很陌生,所以這可能是一個簡單的解決方法,但是當我參考其他答案時,我自己無法做到。請幫忙。
sudo 不保留環境變數,請嘗試該
-E
選項。看man 8 sudo
-E’ -E(保留環境)選項向安全策略表明使用者希望保留他們現有的環境變數。如果指定了 -E 選項並且使用者沒有保留環境的權限,則安全策略可能會返回錯誤。