Als «shell-script» getaggte Fragen

Fragen zu Shell-Skripten, ausführbaren Dateien, die von einer Shell interpretiert werden (bash, zsh usw.).

4
Ist es möglich, eine XML-Datei über ein Shell-Skript zu ändern?
So sieht meine docker-compose.yml aus. nginx: container_name: 'nginx' image: 'nginx:1.11' restart: 'always' ports: - '80:80' - '443:443' volumes: - '/opt/nginx/conf.d:/etc/nginx/conf.d:ro' links: - 'anything' Jetzt muss ich einige Inhalte über ein Shell-Skript hinzufügen (auf einem Ubuntu-Server). Ich bin mir nicht ganz sicher, ob es überhaupt möglich ist: Fügen Sie ein neues …

2
Zählen Sie die Anzahl der Elemente im Bash-Array, wobei der Name des Arrays dynamisch ist (dh in einer Variablen gespeichert ist).
Kurze Erklärung der Frage: Gibt es eine integrierte Bash-Methode, um die Anzahl der Elemente im Bash-Array zu zählen, wobei der Name des Arrays dynamisch ist (dh in einer Variablen gespeichert ist), ohne eine vollständige Kopie des Arrays zu erstellen oder zu verwenden eval? Mehr Informationen: Mit der Bash-Parametersubstitution können Sie …

2
Test auf Array-Unterstützung durch Shell
Gibt es eine präzise Möglichkeit, die Array-Unterstützung durch die lokale Bourne-ähnliche Shell in der Befehlszeile zu testen? Das ist immer möglich: $ arr=(0 1 2 3);if [ "${arr[2]}" != 2 ];then echo "No array support";fi oder Testen für $SHELLund Shell-Version: $ eval $(echo "$SHELL --version") | grep version und dann …



7
Enthält $ 0 immer den Pfad zum Skript?
Ich möchte das aktuelle Skript durchsuchen, damit ich Hilfe- und Versionsinformationen aus dem Kommentarbereich oben ausdrucken kann. Ich dachte an so etwas: grep '^#h ' -- "$0" | sed -e 's/#h //' Aber dann habe ich mich gefragt, was passieren würde, wenn sich das Skript in einem Verzeichnis befindet, das …

5
Shell-Skript zum Senden einer Warnmail, wenn die Festplattennutzung 90% überschreitet
Ich möchte ein Skript auf meinem Server implementieren, das automatisch E-Mail-Benachrichtigungen sendet, wenn die Festplattenauslastung 90% überschreitet, und eine zweite E-Mail-Benachrichtigung, wenn sie 95% überschreitet. Mein Dateisystem ist abc:/xyz/abcund der Einhängepunkt ist /pqr. Ich habe das versucht: ADMIN="someone@def.com" ALERT=90 df -H | grep -vE 'abc:/xyz/pqr | tmpfs |cdrom' | awk …



3
Rufen Sie ein Skript für ein anderes Skript auf, aber beenden Sie das übergeordnete Element nicht, wenn das untergeordnete Element exit aufruft
first.sh:: #! /bin/ksh echo "prova" . ./second.sh echo "ho lanciato il secondo" . ./third.sh echo "ho lanciato il terzo" second.sh:: echo "sono nel secondo script" dosomething1 exit $? Wenn second.shein Fehler erkannt wird und mit dem Status -9 beendet wird, wird first.shimmer beendet. Wie kann ich vermeiden, die erste Shell …


2
Mehrzeiliger Befehl: Eine Zeile auskommentieren
Ich verwende gerne das folgende Format in Skripten für Befehle mit vielen Parametern (zur besseren Lesbarkeit): docker run \ --rm \ -u root \ -p 8080:8080 \ -v jenkins-data:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v "$HOME":/home \ jenkinsci/blueocean Aber manchmal möchte ich einen dieser Parameter wie folgt kommentieren: # -p 8080:8080 …

4
Implizite Rückgabe in Bash-Funktionen?
Angenommen, ich habe eine Bash-Funktion wie folgt: gmx(){ echo "foo"; } Gibt diese Funktion implizit den Exit-Wert des echoBefehls zurück oder ist die Verwendung von return erforderlich? gmx(){ echo "foo"; return $? } Ich gehe davon aus, dass die Art und Weise, wie bash funktioniert, der Exit-Status des letzten Befehls …

1
Führen Sie einen Befehl oder eine Funktion aus, wenn SIGINT oder SIGTERM an das übergeordnete Skript selbst gesendet wird, nicht an die untergeordneten Prozesse
Nehmen wir an, ich habe das script.sh #!/bin/bash exit_script() { echo "Printing something special!" echo "Maybe executing other commands!" kill -- -$$ # Sends SIGTERM to child/sub processes } echo "Some other text" #other commands here sleep infinity Ich möchte script.shdie Funktion ausführen, exit_scriptwann immer sie empfängt SIGINToder SIGTERM Zum …


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.