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
Ermitteln Sie, ob stdin in der Shell-Funktion weitergeleitet wird
Ich habe eine Reihe von Shell-Funktionen, die ich in meiner Befehlszeilenumgebung und in meinen Shell-Skripten verwende. Ich möchte zwei von ihnen, upperund lowerzu verhalten sich unterschiedlich , je nachdem , ob oder nicht Daten zu ihnen zu sein verrohrt. Beide Funktionen sind derzeit so geschrieben, dass sie Eingaben über an …
7 shell 

4
shell: read: Unterscheide zwischen EOF und Newline
Wie kann ich beim Lesen eines einzelnen Zeichens den Unterschied zwischen null <EOF>und erkennen \n? Z.B: f() { read -rn 1 -p "Enter a character: " char && printf "\nYou entered '%s'\n" "$char"; } Mit einem druckbaren Zeichen: $ f Enter a character: x You entered 'x' Beim Drücken von …
7 bash  shell  posix 

6
Wie extrahiere ich bestimmte Elemente aus einem Dateinamen?
Ich habe eine Reihe von Dateien im folgenden Format: 2014-11-19.8.ext 2014-11-26.1.ext 2014-11-26.2.blah.ext 2014-11-26_3.ext 2014-11-26.4.stuff_here.ext 2014-12-03.1. could be anything.ext 2014-12-032b.ext 2014-11-26 613 adva.ext Mein Ziel ist es, die gesamte Liste der Dateien zu durchlaufen und die Datumsformatierung zu übernehmen YYYY-MM-DDund diese in einer Variablen im Format YYYYMMDDfür die weitere Verarbeitung zu …



2
Stellen Sie die Pipe-Kapazität unter Linux ein
Gibt es eine Möglichkeit, die Rohrkapazität von Rohren festzulegen, die in einem Bash-Skript (oder einem anderen Shell-Skript) definiert sind? Nehmen Sie z cmd1 | cmd2 In neueren Linux-Versionen ist die Pipe-Kapazität standardmäßig auf 64 KB eingestellt. Ich weiß, dass ich die zwischen den beiden Prozessen "gepufferte" Datenmenge auf zwei Arten …
7 linux  bash  shell  pipe 


2
Bash-Variable Sichtbarkeit in der Unterschale der Befehlsersetzung
Ich lese ein Linux-Shell-Skriptbuch und habe die folgende Warnung gefunden: "Durch die Befehlssubstitution wird eine sogenannte Subshell zum Ausführen des eingeschlossenen Befehls erstellt. Eine Subshell ist eine separate untergeordnete Shell, die von der Shell generiert wird, in der das Skript ausgeführt wird. Aus diesem Grund stehen dem Subshell-Befehl keine Variablen …
7 bash  shell 


1
Ist es ein Fehler, dass zsh die vollständige Zeichenfolge mit printf '% .s' druckt?
Der Befehl printf '%.0s-' `seq 1 30`; echofunktioniert in allen getesteten Shells einwandfrei: /bin/jsh : ------------------------------ /bin/attsh : ------------------------------ /bin/y2sh : ------------------------------ /bin/ash : ------------------------------ /bin/dash : ------------------------------ /bin/b203sh : ------------------------------ /bin/b43sh : ------------------------------ /bin/b44sh : ------------------------------ /bin/bash : ------------------------------ /bin/ksh : ------------------------------ /bin/ksh93 : ------------------------------ /bin/lksh : ------------------------------ /bin/mksh …
7 shell  zsh  printf 

2
Rückgabe bei Fehler in Shellscript statt Beenden bei Fehler
Ich weiß, dass set -edas mein Freund ist, um bei einem Fehler zu beenden. Aber was tun, wenn das Skript bezogen wird, z. B. wenn eine Funktion über die Konsole ausgeführt wird? Ich möchte die Konsole nicht bei einem Fehler schließen, sondern nur das Skript stoppen und die Fehlermeldung anzeigen. …
7 bash  shell  function 

2
Shell-Skript: Wenn mehrere Bedingungen
Ich möchte ein Shell-Skript erstellen, das etwas wiedergibt, wenn 3 Verzeichnisse nicht vorhanden sind. Hier ist der Code, den ich geschrieben habe: test.sh: if [ ! -d "/home/unix/POSTagger2" ] || [! -d "/home/unix/POSTagger2/stanford-parser-full-2015-12-09"] || [! -d "/home/unix/POSTagger2/stanford-corenlp-full-2015-12-09"]; then echo "Nope" fi Wenn ich es ausführe, erhalte ich folgende Fehlermeldung: ./test.sh: …

1
Ist die $ SHELL-Umgebungsvariable nur für interaktive Shells?
Ich sehe zwei Verwendungsmöglichkeiten für die SHELLUmgebungsvariable: Es kann verwendet werden, um die interaktive Shell anzugeben, die der Benutzer verwenden möchte, und / oder Es kann von Prozessen verwendet werden, um andere Befehle auszuführen, wobei der Befehl in der üblichen Sprache ersetzt wird /bin/sh -c "...". Wenn es nur für …
7 shell  posix  exec 

5
Indirekte Variablenbewertung
Ich versuche, einen einfachen Wert für $ AR1_p1 zu drucken, aber die Variable $ i wird nicht ausgewertet. for i in 1 2 3 4 do AR1_p1=22 AR1_p2=23 AR1_p3=24 AR1_p3=25 echo $AR1_p$i done Es ist wie eine dynamische Verkettung. Irgendwelche Vorschläge, wie man das behebt?.
7 bash  shell 

1
Lassen Sie ein Shell-Skript Befehle in Telnet oder Programmen ausführen
Ich möchte ein Shell-Skript erstellen, das Befehle auf einem Gerät ausführt, das ich mit oder in Programmen wie FTP oder OpenSSL telnete. Ich habe bereits eine Methode in FTP gefunden, die ungefähr so ​​aussehen würde: #!/bin/sh HOST='0.0.0.0' USER='User' PASSWD='Pass' FILE='~/Desktop/file.txt' RFILE='file.txt' ftp -n $HOST <<END_SCRIPT quote USER $USER quote PASS …

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.