我有一個奇怪的情況下,我使用的zsh全職,任何的bash腳本我運行不正常採摘環境變量。很顯然,我並不指望bash的回暖在zsh中的環境中定義的包膜增值經銷商,所以我使用~/.bashrc
和~/.bash_profile
是,但這並不能工作。bash腳本不拾取環境變量
例如,這裏有一個測試腳本:
#!/bin/bash
echo $MYTEST
我已經添加了此行既~/.bashrc
和~/.bash_profile
覆蓋我的基地:
export MYTEST="hello"
運行時,我只是得到了一個空白行劇本。
PS:我知道運行. ./testscript
可以工作,但這不是一個選項,因爲它是一個系統範圍的腳本,無法提取env變量。
系統運行的腳本不運行特定於用戶的初始化文件。 –
那麼爲什麼'bash -c'echo $ LESS''顯示我的'less'選項?但其他變量不起作用? – ffxsam
從您的shell會話中手動運行'bash -c'不是系統運行腳本。這仍然和你一樣狂暴。但是,如果你在'.bashrc'/etc中有變量。那麼這些文件不能以這種方式工作(而'$ LESS'),那麼你的初始化文件有些不正確(或者你沒有正確使用'.bashrc' /'.bash_profile')。 –