Als «shell» getaggte Fragen

Die Shell ist die Befehlszeilenschnittstelle von Unix. Sie können Befehle interaktiv in eine Shell eingeben oder Skripts schreiben, um Aufgaben zu automatisieren. Verwenden Sie dieses Tag für Fragen zu / bin / sh und den meisten kompatiblen Shells (ash, bash, ksh, zsh,…). Überprüfen Sie Shell-Skripte mit Fehlern auf http://shellcheck.net, bevor Sie sie hier veröffentlichen.


1
Bash lädt beim Speichern automatisch Updates in ein laufendes Skript (fügt sie ein): Warum? Irgendeine praktische Verwendung?
Ich habe ein Bash-Skript geschrieben und zufällig den Code aktualisiert (die Skriptdatei auf der Festplatte gespeichert), während das Skript auf eine Eingabe in einer whileSchleife wartete . Nachdem ich zum Terminal zurückgekehrt war und mit dem vorherigen Aufruf des Skripts fortgefahren war, gab bash einen Fehler bezüglich der Dateisyntax aus: …
9 bash  shell  scripting 

3
ImageMagick für mehrere Dateien
Ich habe eine einzelne Datei mit ImageMagick von BMP nach PNG konvertiert, convertindem ich den folgenden Befehl verwendet habe convert CD\ Front.bmp CD\ Front.png Ich habe viele solcher Dateien, also habe ich versucht: for f in */*.bmp ; do convert $f ${f%bmp}png; done aber dieser Befehl hängt für immer. Was …

3
Behandlung von Rückschlägen über Muscheln
Wie kann echound printfbehandeln Schrägstriche in zsh, bashund andere Schalen? Unter zsh bekomme ich folgendes Verhalten: $ echo "foo\bar\baz" foaaz $ echo "foo\\bar\\baz" foaaz $ echo 'foo\bar\baz' foaaz $ echo 'foo\\bar\\baz' foo\bar\baz Unter Bash scheinen die Dinge etwas konsistenter zu sein: bash$ echo "foo\bar\baz" foo\bar\baz bash$ echo 'foo\bar\baz' foo\bar\baz bash$ …
9 bash  shell  zsh  quoting 

3
Wie kann ich einen Job beenden, der in einer anderen Shell (Terminalfenster oder Registerkarte) initiiert wurde?
Wenn ich einen Prozess beginne und ihn in einem Terminalfenster hinterlege (z. B. ping google.com &), kann ich ihn mit kill %1beenden (vorausgesetzt, es handelt sich um Job 1). Wenn ich jedoch ein anderes Terminalfenster (oder eine andere Registerkarte) öffne, wird der Hintergrundprozess nicht unter aufgelistet jobsund kann nicht direkt …

3
Befehlsausgabe nach Zeilenumbruch teilen?
Ich habe einen Befehl, der mehrere Zeilen zurückgibt. Für die weitere Verarbeitung muss ich jede einzelne Zeile dieser Zeilen verarbeiten. Mein aktueller Code funktioniert durch Ändern des IFS ( Internal Field Separator ): ROWS=$(some command returning multiple lines) O=$IFS #save original IFS IFS=$(echo -en "\n\b") # set IFS to linebreak …

2
Ausführen eines Befehls auf dem Remote-Host mit interaktivem SSH (bedingt)
Ich möchte in der Lage sein, jedes Mal, wenn ich mich bei diesem Host anmelde, automatisch einen Befehl auf einem Remote-Host auszuführen, jedoch innerhalb der aktuellen interaktiven SSH-Sitzung. Etwas wie ssh user@remotehost [run do.sh] Wo werden do.shein paar Housekeeping-Aufgaben ausgeführt und dann eine screenSitzung erneut verbunden (derzeit werde ich do.shmanuell …


2
Wie erweitert eine Shell (z. B. Bash) Platzhaltermuster?
Angenommen, ein Verzeichnis enthält 100 Dateien, die mit dem Buchstaben 'a' beginnen. grep <some string> a*Wie wird die Shell damit umgehen, wenn ich eine vom Terminal aus mache ? Wird es den regulären Ausdruck erweitern, eine Liste aller Dateien erhalten, die mit a beginnen, und für jede dieser Dateien nacheinander …
9 bash  shell  wildcards 

3
“Mkdir foo; svn mv * foo ”
Ich möchte oft eine Variante dieser Redewendung machen: $ mkdir 2010 $ svn mv * 2010 Natürlich bekomme ich eine Fehlermeldung, weil der Glob auch mit 2010 übereinstimmt: svn: Cannot copy path '2010' into its own child '2010/2010' Gibt es eine Möglichkeit, durch "svn mv * 2010"einen anderen Einzeiler zu …

1
So weisen Sie mehreren Variablen in der Befehlszeile mit Balken Werte zu
Ich versuche im Wesentlichen, bestimmte Teile der Ausgabe eines Shell-Befehls mehreren Variablen zuzuordnen, aber ich weiß nicht, wie das geht. Nehmen Sie der Einfachheit halber an, dass der Befehl auf der Shell bei der Ausführung gedruckt wird one two three four was mit a simuliert werden kann echo "one two …
9 shell  bash 

7
Wie bereinige ich Dateierweiterungen?
Ich habe ein Verzeichnis mit MP3-Dateien, in denen ich die Erweiterungen in MP3 ändern möchte. Was ist der einfachste Weg, dies zu tun? Ich denke etwas in der Art von: find /RootPath -type f -iname "*.mp3" -exec mv {} sed s/.*MP3/\1.mp3/ \; ... obwohl ich weiß, dass das nicht ganz …
9 shell  find  rename 


1
Ist es möglich, Daten an die Shell eines anderen Pseudo-Terminals zu senden?
Dieses Bild zeigt, wie Pseudo-Terminals funktionieren: Wenn zwei Terminalemulatoren geöffnet sind, kann ich die Zeichenfolge "Hello"vom ersten Terminalemulator an den zweiten Terminalemulator senden : echo "Hello" > /dev/pts/1 Wenn dieser Befehl ausgeführt wird, wandert die Zeichenfolge "Hello"von der Slave-Seite des zweiten Pseudo-Terminals zur Master-Seite des zweiten Pseudo-Terminals und wird dann …
9 linux  shell  terminal 


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.