[LINUX] Schreiben Sie eine aliasähnliche Funktion in .bashrc, die zu ls -lh wird, wenn Sie ls -l ausführen

Einführung

Die Größe der von ** ls -l ** angezeigten Datei ist in Byte angegeben, daher ist es auf einen Blick sehr schwer zu verstehen. Ich möchte einen Alias so festlegen, dass er automatisch in die Anzeige KB, MB, GB konvertiert wird. Da es jedoch nicht möglich ist, einen Alias mit Optionen festzulegen, erstellen Sie eine Funktion in **. Bashrc **, um damit umzugehen. Ich habe es gemacht.

Umgebung

Ubuntu 16.04.5 LTS

Verfahren

Nach Hause gehen.

cd ~/

Öffnen Sie .bashrc.

vi .bashrc

Verwenden Sie ** Umschalt + g **, um nach unten zu gelangen und die folgende ls-Funktion zu schreiben.

function ls () {
  if [[ "$@" =~ ^--color=auto.*l.*$ ]]; then
    command ls "$@" -h
  else
    command ls "$@"
  fi
}

Führen Sie .bashrc aus, damit Ihre Änderungen wirksam werden.

source .bashrc

Vergewissern Sie sich, dass die Geräteanzeige in Ordnung ist, unabhängig davon, welcher der folgenden Befehle ausgeführt wird. Sie können den Befehl ** ls ** unverändert verwenden.

ls -l
ls -la
ls -al

Kommentar

** $ @ ** enthält das ** Argument ** des Befehls ls. Wenn Sie den oberen Teil der .bashrc-Datei durchsuchen, wird ** alias ls = 'ls --color = auto' ** beschrieben. Wenn Sie also ** ls -l ** ausführen, lautet der Inhalt von $ @ ** Es wird von --color = auto -l ** aufgenommen. Stimmen Sie mit einem regulären Ausdruck überein, sodass die Option -l oder -la oder -al entspricht. Wenn es übereinstimmt, wird am Ende die Option ** - h ** hinzugefügt.

Suchen Sie nach ** alias ls ** in .bashrc.

$grep "alias ls" > .bashrc
alias ls='ls --color=auto'

Referenz

https://tutorialmore.com/questions-603168.htm

Recommended Posts

Schreiben Sie eine aliasähnliche Funktion in .bashrc, die zu ls -lh wird, wenn Sie ls -l ausführen
Eine App, die Sie in Linux einfügen müssen
Was tun, wenn beim Importieren von matplotlib in Python (Mac) eine Fehlermeldung angezeigt wird?
Wenn beim Python-Scraping ein Fehler auftritt (Anforderungen)
Was tun, wenn beim Ausführen von "certbot erneuern" in der CakePHP-Umgebung eine Fehlermeldung angezeigt wird?