GNU/Linux >> Znalost Linux >  >> Linux

Jak rychle změnit první slovo v příkazu Bash?

!$ expanduje na poslední slovo vašeho předchozího příkazu.

Takže můžete udělat:

cat foo/is/a/very/long/path/to/bar.c

rm !$

nebo:

git diff foo/bar.c

git checkout !$

Vaše příklady náhodou opakovaly pouze poslední slovo, takže !$ fungovalo dobře. Pokud jste skutečně měli mnoho argumentů, které jste chtěli zopakovat, a chtěli jste pouze změnit první slovo, můžete použít !* , který se rozšíří na všechna slova předchozího příkazu kromě nuly.

Viz část "ROZŠÍŘENÍ HISTORIE" v bash manuálová stránka. Je zde velká flexibilita.


Ctrl +a přejděte na začátek řádku a stiskněte Alt +d pro smazání prvního slova.


Nejsem si jistý, zda by to bylo skutečně rychlejší nebo ne, ale viz tento článek, zejména bod #.3:

  1. Nahraďte řetězec z předchozího příkazu pomocí ^str1^str2^

V následujícím příkladu jsme nejprve provedli příkaz ls k ověření afile. Později jsme si uvědomili, že chceme zobrazit obsah souboru. Namísto opětovného psaní celého názvu souboru můžeme pouze nahradit „ls“ v předchozím příkazu „cat“, jak je uvedeno níže.

$ ls /etc/cron.daily/logrotate

$ ^ls^cat^
cat /etc/cron.daily/logrotate

Linux
  1. Jak používat příkaz basename?

  2. Jak změnit předchozí/následující zástupce slova v Bash?

  3. Jak je zástupný znak * interpretován jako příkaz?

  1. Jak nastavit barvu příkazového řádku v Bash?

  2. Jak najít index slova v řetězci v bash?

  3. Jak změnit rozlišení Bash pro Debian VM?

  1. Příkaz „eval“ v Bash?

  2. Jak zastavit příkaz Najít po prvním zápase?

  3. Jak změnit název hostitele na Ubuntu