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.


3
Effiziente Möglichkeit, mehrere Dateien zu erstellen
Ich habe das Suchverzeichnis getestet, das maximal Inodes benötigt, und während des Testens war ich ausgeführt worden touch test_{1..1391803}.txt Aber es gibt mir einen Fehler "-bash: /usr/bin/touch: Argument list too long", jetzt laufe ich unter dem Befehl, aber es scheint, dass es Hugh Zeit brauchen wird ruby -e '1.upto(1391803) { …
7 shell  files  touch 

2
Stellen Sie sicher, dass ein Befehl in bash ausgeführt wurde
Ich habe eine Bash-Datei mit Befehlen zum Zusammenführen von PCAP-Dateien. Ich möchte wissen, ob es sowieso gibt, um sicherzustellen, dass eine Zeile in Bash läuft oder nicht. Wie in der Windows Bat-Datei haben wir% ErrorLevel% ¨ Sagen Sie einen Befehl touch -r dcn_file "${dir_dcn}"/"${TAG1_dcn}".pcap Wie stelle ich sicher, dass dies …

1
Leitet dies nach / dev / null um?
Ich habe dieses Skript im Arch-Wiki gefunden, dem ein ffmpegBefehl wie dieser vorangestellt ist < /dev/null ffmpeg -i "$a" -qscale:a 0 "${a[@]/%flac/mp3}" Ich verstehe den Befehl ffmpeg, es ist der < /dev/nullTeil. Soll es die ausführliche Ausgabe umleiten /dev/null/?

1
adduser: Geben Sie in diesem Modus nur einen Namen an
Ich versuche, einen Benutzer mit diesem Befehl auf meinem Debian-Server hinzuzufügen: #!/bin/bash APPUSER="test1" APPGROUP="test2" # User adduser -c 'uwsgi user' --group $APPGROUP --system --no-create-home --disabled-login --disabled-password $APPUSER Es sagt mir jedoch, dass ich nur einen Namen angeben kann, aber ich gebe nur einen Namen an, soweit ich sehen kann. Was …
7 linux  bash  shell  debian 

2
Warum sind Bash-Tests in Bezug auf Leerzeichen so wählerisch?
Als erste Linie Java - Programmierer, finde ich die bash if- thenKonstrukt ziemlich verwirrend, vor allem in Bezug auf Leerzeichen. Kann jemand erklären, warum der erste funktioniert, aber nicht der zweite oder dritte? #works if [ -n $1 ]; then echo "parameterized"; fi #output: ./links: Zeile 1: [-n: Kommando nicht …


3
Muss ich awk-Variablen in Anführungszeichen kapseln, um sie zu bereinigen?
Nach einer Antwort zum Stackoverflow ist das Einkapseln von Bash-Variablen in doppelte Anführungszeichen meines Erachtens eine ziemlich sichere Methode, um Benutzereingaben zu bereinigen. Was ist mit awk-Variablen? Zum Beispiel, wenn ich so etwas habe wie: awk -v SOURCEIP="$SOURCEIP" -v REVERSEDNS="$REVERSEDNS" '{ gsub(/^_TMPSOURCEIP_/, SOURCEIP); gsub(/^_TMPREVERSEDNS_/, REVERSEDNS); print }' /home/foo/footemplate Sollte ich …

3
Wie kann ich herausfinden, ob ein relativer Symlink zu einem bestimmten Teilbaum gehört oder nicht?
Ich möchte testen, ob ein relativer Symlink auf den Teilbaum eines bestimmten Verzeichnisses verweist. Dieses Beispiel würde ergeben, falseda es außerhalb des fooVerzeichnisses zeigt: /foo>readlink bar ../fie.txt Während dieses Beispiel ergeben würde true: /foo>readlink bar fum/fie.txt Gibt es ein vorhandenes Dienstprogramm, das ich nutzen kann, oder muss ich es von …
7 bash  shell  symlink 

6
Anzahl der Dateien, die keine angegebene Zeichenfolge enthalten
Ich habe die Frage gelesen , wie man die Anzahl der Dateien herausfindet, die eine bestimmte Zeichenfolge enthalten. Dies ist möglich mit grep -l "string" * | wc -l. Ist es möglich, dies zu invertieren, indem die Anzahl der Dateien ermittelt wird , die die Zielzeichenfolge nicht enthalten? Ich habe …
7 shell  files  grep 

4
Verhindern Sie, dass das Terminal zuvor ausgeführte Befehle anzeigt
Ich habe ein Skript, mit dem ich zufällige Gedanken protokollieren kann, während ich an einem Projekt arbeite. Im Terminal würde ich durch Ausführen einen neuen Protokolleintrag hinzufügen $ @ "some random thought" Wo @ist nur ein Alias ​​für mein Skript. Angenommen, mein Terminal befindet sich in diesem Zustand: $ ls …
7 bash  shell  terminal  zsh 

3
cp funktioniert nicht im Skript, sondern im Terminal
Nun, das ist ein seltsames Problem, ich habe diese Art von Skript: CWD="$(cd -P -- "$(dirname -- "$0")" && pwd -P)" RESOURCES_PATH="${CWD}/resources" PROJECT_NAME="something" DRUSH_ALIASES_EXAMPLE_PATH="${RESOURCES_PATH}/example.aliases.drushrc.php" DRUSH_ALIASES_PATH="~/.drush/${PROJECT_NAME}.aliases.drushrc.php" cp ${DRUSH_ALIASES_EXAMPLE_PATH} ${DRUSH_ALIASES_PATH} echo "cp ${DRUSH_ALIASES_EXAMPLE_PATH} ${DRUSH_ALIASES_PATH}" Wenn ich versuche, diese Art von Skript auszuführen, wird folgende Fehlermeldung angezeigt: "cp: Es kann keine reguläre Datei" …
7 bash  shell  quoting 


1
Beim Anhängen an dasselbe Array in verschiedenen Schleifen bleiben nur die letzten Werte Bash 4
Ich habe so etwas: FILES=() for i in *.map do FILES+=($i) done find /var/candy -name "chocolate_[0-9]" | while read snack do FILES+=($snack) done for file in ../out/amsterdam/apples/{system.map,vmlinux} do FILES+=($file) done Das Array enthält jedoch nur ../out/amsterdam/apples/system.mapund ../out/amsterdam/apples/vmlinux. Was ist mit den anderen Werten passiert? Ich weiß, dass sie in diesen …
7 bash  shell  pipe  variable 


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.