Shell
破折號非互動式非登錄rc文件
dash 是否有非互動式非登錄 rc 文件?我已經閱讀了手冊頁,其中建議
.profile
使用登錄 shell 和$ENV
互動式 shell 的環境變數。是否有任何針對非互動式非登錄 shell 執行的東西,例如
zsh
’zshenv
文件或bash
’$BASH_ENV
環境變數?Bourne shell 也有等效文件嗎?到目前為止,我能想到的最好的方法(儘管根本不理想,因為它需要我編輯每個腳本)是按如下方式編輯 shebang:
#!/bin/sh /path/to/script f
其中
/path/to/script
包含f() { echo "/path/to/script"; }
典型的 shell 沒有為非互動式 shell 讀取的 rc 文件。
.profile
為登錄 shell 讀取,該登錄 shell 由argv[0]
以 a 開頭的 a標識-
。
$ENV
由互動式 POSIX shell 讀取,如果尚未設置,則 shell 使用它自己的預設值。這是.kshrc
針對. _ _ _ksh``.bashrc``bash``.shrc``Bourne Shell
然而,Dash 沒有定義預設值
$ENV
,因此通常不會讀取它,即使在互動模式下也是如此。