Bash
eval 命令在 WSL Ubuntu 中給出錯誤
我正在嘗試使用本教程在 wsltty 上使用日光化配色方案,除了我需要複製這些命令的部分之外,其他一切都有效:
source ~/.mintty-colors-solarized/mintty-solarized-light.sh eval (dircolors -c ~/.dir_colors | sed 's/>&\/dev\/null$//'
由於我沒有使用
fish
,我將命令粘貼到.bashrc
文件中,但它給了我這個錯誤:-bash: .bashrc: line 119: syntax error near unexpected token 'dircolors' -bash: .bashrc: line 119: 'eval (dircolors -c ~/.dir_colors | sed 's/>&\/dev\/null$//')'
我不明白該怎麼做。日曬配色方案即將推出,但像
ls
輸出這樣的文本內容不會用於日曬方案,所以我確信這個命令與它有關。有誰能夠幫我?我對bash沒有太多經驗。
您正在嘗試
fish
在bash
. 這是兩個不同的 shell,每個都有自己的語法,你不能盲目地將命令從一個 shell 複製到另一個 shell,並希望它們能正常工作。
eval
內置的顯然fish
可以理解你給它的帶括號的子shell,但這在bash
. 相反,使用引號:eval "dircolors -c ~/.dir_colors | sed 's/>&\/dev\/null$//'"
現在我不知道這是否適用於 bash,教程中可能還有其他特定於魚的規則。但這至少會執行您嘗試執行的命令。