Alias

新的fish shell別名被忽略

  • May 16, 2022

正如https://stackoverflow.com/a/2763014/2891692中所解釋的, 我在我的配置文件中創建了好幾天的別名~/.config/fish/config.fish ,它可以工作。

我今天添加的每個新別名都不起作用。

不工作別名的範例:

alias bla  = "cd ~/Desktop" 
alias bla2  = "ls -a" 

在此處輸入圖像描述

但是我今天之前添加的別名。例如: alias gitStatus="git status"

在此處輸入圖像描述

滿~/.config/fish/config.fish這裡:

function fish_greeting
    echo 'try nr 5'
end
alias bla2  = "ls -a" 
alias gitStatus="git status"

每次嘗試我都會更新歡迎資訊。這行得通

我該如何解決這個問題?

錯誤

如果使用alias bla = "cd ~/Desktop"

bla
Command 'bla' not found, did you mean:
 command 'bls' from deb bacula-sd (9.4.2-2ubuntu5)
...

如果別名的類型部分首先是紅色。但這不是錯誤(首先讓我感到困惑)

作業系統:

Kubuntu 20.04
KDE Plasma Version: 5.18.8
KDE Frameworks Version: 5.68.0
Qt Version: 5.12.8
Kernel Version: 5.13.0-41-generic
OS Type: 64-bit

aliasinfish接受以下兩種形式之一的參數:

  • 作為兩個參數,名稱和程式碼(csh 語法)
  • 作為一個帶有=分隔名稱和程式碼的參數(ksh 語法)

在您的情況下,因為您在 周圍有空格=,所以這會將它作為三個參數傳遞給別名,它不會理解。

實際上它應該列印一個錯誤:

別名:預期 <= 2 個參數;得到 3

所以:做

alias bla "cd ~/Desktop" 
alias bla2 "ls -a" 

或者

alias bla="cd ~/Desktop" 
alias bla2="ls -a" 

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