使用者定義的 bash_completion.d 腳本的標準位置?
我擁有進入 Linux (Suse) 機器的使用者訪問權限(無 root),我在其中開發了一些 bash 腳本和相應的 bash 自動完成規則。
由於腳本僅屬於我的使用者,因此我只需要對我“有效”的完整規則(部分原因是我沒有 root 寫入權限),
/etc/bash_completion.d/
因此不能將我的 bash_completion 腳本放入文件夾中。目前我命名我的文件
.bash_completion.myscript
並直接從我的 .source中獲取它.bashrc
,但我只是想知道是否有任何其他“標準”方式來實現這些結果,在 bash 實現中已經考慮過。例如,創建一個文件夾
/home/myuser/.bash_completion.d/
?
使用
~/.bash_completion
文件。問:如何插入我自己的本地完成,而不必在
每次發布新版本時重新插入它們?
A. 將它們放在 ~/.bash_completion 中,在主完成腳本的末尾進行解析。另請參閱下一個問題。
問:我編寫/維護包 X 並希望維護我自己
的此包的完成程式碼。我應該把它放在哪里以確保
互動式 bash shell 會找到它並獲取它?
A. 將其安裝在bash-completion 的 pkgconfig 文件變數指向的目錄之一中。有兩種
選擇:推薦的一種是“completionsdir”(使用
“pkg-config –variable=completionsdir bash-completion”獲取),
根據呼叫命令的名稱按需載入完成,
所以一定要命名你的相應的完成文件,並包括
例如符號連結,以防文件
為多個命令提供完成。出於
向後兼容性原因而存在的另一個是“compatdir”(使用
“pkg-config –variable=compatdir bash-completion”獲取它