Ich habe ein Shell-Skript, in dem wir folgende Zeilen if [ -z "$xyz" ]und haben if [ -n "$abc" ], aber ich bin nicht sicher, was ihr Zweck ist. Kann jemand bitte erklären?
Was ist der einfachste Weg, um einen ungenutzten lokalen Port zu finden? Momentan verwende ich etwas Ähnliches: port=$RANDOM quit=0 while [ "$quit" -ne 1 ]; do netstat -a | grep $port >> /dev/null if [ $? -gt 0 ]; then quit=1 else port=`expr $port + 1` fi done Es fühlt …
Ich möchte einen einfachen Befehl ausführen, bevor der Computer heruntergefahren wird (Timing ist nicht unbedingt erforderlich). Zum Starten kann ich /etc/rc.local verwenden; Gibt es etwas Ähnliches für das Herunterfahren? Beachten Sie, dass ich weiterhin die integrierte Schaltfläche zum Herunterfahren aus dem Menü verwenden möchte. dh ich möchte nicht jedes Mal …
Ich erstelle ein Shell-Skript, das einen Dateinamen / Pfad zu einer Datei verwendet und feststellt, ob es sich bei der Datei um eine symbolische Verknüpfung oder eine feste Verknüpfung handelt. Das einzige ist, ich weiß nicht, wie ich sehen soll, ob es sich um eine harte Verbindung handelt. Ich habe …
Viele Befehlszeilenprogramme können ihre Eingabe entweder über eine Pipe oder als Dateinamenargument verwenden. Bei langen Shell-Skripten ist das Starten der Kette mit einem catbesser lesbar, insbesondere wenn der erste Befehl mehrzeilige Argumente benötigt. Vergleichen Sie sed s/bla/blaha/ data \ | grep blah \ | grep -n babla und cat data …
Ich schreibe ein Bash-Skript, in dem ich beenden möchte, wenn der Benutzer nicht root ist. Die Bedingung funktioniert einwandfrei, aber das Skript wird nicht beendet. [[ `id -u` == 0 ]] || (echo "Must be root to run script"; exit) Ich habe versucht, &&anstatt ;aber keine Arbeit zu verwenden.
Manchmal sehe ich Skripte alle diese verschiedenen Arten verwenden von einem Text zu zitieren: "...", '...', $'...', und $"...". Warum werden so viele verschiedene Arten von Zitaten verwendet? Verhalten sie sich anders oder beeinflussen sie, was ich in ihnen tun kann?
unset array[0]Entfernt das Element, aber wenn ich echo ${array[0]}einen Nullwert erhalte, gibt es noch andere Möglichkeiten, dies zu tun, aber wenn ein Element eines Arrays Leerzeichen wie unten enthält array[0]='james young' array[1]='mary' array[2]='randy orton' Aber auch diese machen ihren Job nicht array=${array[@]:1} #removed the 1st element Jetzt möchte ich, dass …
Betrachten Sie den folgenden (etwas albernen) Skriptnamen 'test1.sh': #/bin/bash # sleep 10 & echo sleep pid = $! pkill sleep Wenn ich es starte, erhalte ich nicht nur die Ausgabe des Echos, sondern auch die bash-Meldung über den Tod des Schlafes auf stderr: $ ./test1.sh sleep pid = 3551 ./test1.sh: …
Mir ist aufgefallen, dass {bei der Klammererweiterung verwendet werden kann: echo {1..8} oder in Befehlsgruppierung: {ls;echo hi} Woher kennt bash den Unterschied?
Ich habe ein Skript, das nicht beendet wird, wenn ich es möchte. Ein Beispielskript mit demselben Fehler ist: #!/bin/bash function bla() { return 1 } bla || ( echo '1' ; exit 1 ) echo '2' Ich würde davon ausgehen, die Ausgabe zu sehen: :~$ ./test.sh 1 :~$ Aber ich …
Also habe ich meinen Home-Ordner (oder genauer gesagt alle Dateien, auf die ich Schreibzugriff hatte) gelöscht. Was passiert ist, dass ich hatte build="build" ... rm -rf "${build}/"* ... <do other things with $build> in einem Bash-Skript und nachdem Sie $builddie Deklaration und alle ihre Verwendungen nicht mehr benötigt haben , …
Was ist eine schnelle Befehlszeilenmethode zum Wechseln zwischen mehreren Verzeichnissen für die Systemadministration? Ich meine, ich kann pushd .und popdzum Umschalten verwenden, aber was ist, wenn ich Mehrfachwerte speichern und durch sie blättern möchte, anstatt sie permanent vom Boden des Stapels zu werfen?
Ich habe ein Skript, das temporäre Dateien für seine Arbeit erstellen und nach sich selbst bereinigen muss. Meine Frage ist das Finden des richtigen Basisverzeichnisses für die temporären Dateien. Das Skript muss auf mehreren Plattformen funktionieren: Git Bash (Windows), Solaris, Linux, OSX. Auf jeder Plattform wird das bevorzugte temporäre Verzeichnis …
Der Zweck dieser Frage ist es, eine Neugierde zu beantworten und nicht ein bestimmtes Computerproblem zu lösen. Die Frage ist: Warum sind obligatorische POSIX-Dienstprogramme nicht allgemein in Shell-Implementierungen integriert? Ich habe zum Beispiel ein Skript, das im Grunde genommen ein paar kleine Textdateien liest und überprüft, ob sie richtig formatiert …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.