GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ich Alias-Befehle mit xargs verwenden?

Wandeln Sie stattdessen "gi" in ein Skript um

zB in /home/$USER/bin/gi :

#!/bin/sh
exec /bin/grep -i "[email protected]"

Vergessen Sie nicht, die Datei als ausführbar zu markieren.


Der Vorschlag hier ist, xargs zu vermeiden und anstelle von xargs eine "while read"-Schleife zu verwenden:

find -name \*bar\* | while read file; do gi foo "$file"; done

Siehe die akzeptierte Antwort im obigen Link für Verfeinerungen zum Umgang mit Leerzeichen oder Zeilenumbrüchen in Dateinamen.


Aliase sind Shell-spezifisch - in diesem Fall höchstwahrscheinlich Bash-spezifisch. Um einen Alias ​​auszuführen, müssen Sie bash ausführen, aber Aliase werden nur für interaktive Shells geladen (genauer gesagt .bashrc wird nur für eine interaktive Shell gelesen).

bash -i führt eine interaktive Shell aus (und erzeugt .bashrc).bash -c cmd führt cmd aus .

Setzen Sie sie zusammen:bash -ic cmd führt cmd aus in einer interaktiven Shell, wo cmd kann eine in Ihrem .bashrc definierte Bash-Funktion/ein Alias ​​sein .

find -name \*bar\* | xargs bash -ic gi foo

sollte tun, was du willst.

Bearbeiten:Ich sehe, Sie haben die Frage als "tcsh" markiert, daher ist die bash-spezifische Lösung nicht anwendbar. Mit tcsh brauchen Sie die -i nicht , da es .tcshrc zu lesen scheint, es sei denn, Sie geben -f ein .

Versuchen Sie Folgendes:

find -name \*bar\* | xargs tcsh -c gi foo

Es funktionierte für meine grundlegenden Tests.


Linux
  1. So verwenden Sie die Befehle „cat“ und „tac“ mit Beispielen in Linux

  2. Wie verwendet man Manpages, um zu lernen, wie man Befehle verwendet?

  3. Wie kann ich SSH mit einem SOCKS 5-Proxy verwenden?

  4. Wie verwende ich die Befehle watch und jobs zusammen in Bash?

  5. Wie kann ich Dateien mit xargs unter Linux verschieben?

Was ist Git Bash? Arbeiten mit Git Bash-Befehlen

So schreiben Sie ein Bash-Skript mit Beispielen

So verwenden Sie den Bash-Lesebefehl

So verwenden Sie den Linux-xargs-Befehl

Verwendung von Netcat-Befehlen mit Beispielen

Android - Wie kann ich Shell-Befehle verwenden und mit dem darunter liegenden Linux-System interagieren?