Bash

.bashrc 有問題

  • November 22, 2021

我閱讀了有關如何將文件夾添加到PATH. 我將以下內容添加到.bashrc文件中:

export PATH=/opt/aseprite/build/bin

當我嘗試使用source ./.bashrcfromzsh 我得到這個錯誤

/home/luke/.bashrc:16: command not found: shopt
/home/luke/.bashrc:24: command not found: shopt
/home/luke/.bashrc:111: command not found: shopt
/usr/share/bash-completion/bash_completion:45: command not found: shopt
/usr/share/bash-completion/bash_completion:1512: parse error near `|'
\[\e]0;\u@\h: \w\a\]\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$

這是我完整的連結.bashrchttps ://pastebin.com/28RQV97K

我在PATH這裡的變數做錯了什麼?

您的問題有兩個方面:

1.你覆蓋了路徑規範

和你的

export PATH=/opt/aseprite/build/bin

您尚未向 中添加文件夾PATH,而是將其覆蓋。因此,您的 bash 在外部找不到任何執行檔/opt/aseprite/build/bin(除非您使用絕對路徑呼叫它們)。

相反,你應該做的是

export PATH="$PATH":/opt/aseprite/build/bin

這會將新路徑附加到變數的現有內容。

然而,更重要的是:

2.你使用了錯誤的配置文件

如果您使用的是zsh,那麼.bashrc用於 shell 設置的文件是錯誤的。這兩個 shell 在處理環境設置的方式和使用的語法方面有很大不同,因此即使語法對bash. 您顯示的錯誤展示瞭如何zsh無法應用bash特定的命令和設置,如果您從 a 獲取文件bash(特別shopt是無法知道的bash內置命令),這可能會正常工作。zsh

相反,請查看有關如何將路徑添加到zsh.

幸運的是,由於您只有sourced.bashrc錯誤的設置只會在您執行該命令的終端中生效,並且打開一個新控制台將為您提供一個全新的開始(因為zsh不會自動讀取您錯誤修改的.bashrc)。

引用自:https://unix.stackexchange.com/questions/612516