Als «bash» getaggte Fragen

Fragen speziell zu GNUs Bourne Again SHell im Gegensatz zu anderen Bourne / POSIX-Shells. Verwenden Sie bei Fragen zu Unix-Shells im Allgemeinen stattdessen das Tag / shell.






1
Siehe die Erweiterung der Bash-Variablen zum Debuggen?
Gibt es Tools / Tricks zum Erweitern von Variablen, um das Lesen von Bash-Code zu erleichtern? Zum Beispiel würde es Folgendes konvertieren: DIR=/var/tmp FILE=${DIR}/file SCRIPT_ROOT=/opt/root TOOL=${SCRIPT_ROOT}/tool.sh ${TOOL} ${FILE} zu: DIR=/var/tmp FILE=/var/tmp/file SCRIPT_ROOT=/opt/root TOOL=/opt/root/tool.sh /opt/root/tool.sh /var/tmp/file Ich konvertiere BASH-Code nach Python und das Lesen der BASH-Syntax ist sehr mühsam.

3
Wie speichere ich / dev / stdout als Ziel in einem Bash-Skript?
Ich habe ein bestimmtes Bash-Skript, das den ursprünglichen /dev/stdoutSpeicherort beibehalten soll, bevor der erste Dateideskriptor durch einen anderen Speicherort ersetzt wird. Also schrieb ich natürlich so etwas old_stdout=$(readlink -f /dev/stdout) Und es hat nicht funktioniert. Sehr schnell verstehe ich, was das Problem war: test@ubuntu:~$ echo $(readlink -f /dev/stdout) /proc/5175/fd/pipe:[31764] test@ubuntu:~$ …


2
Shell-gültige Funktionsnamen
Die Verwendung erweiterter Unicode-Zeichen ist (ohne Zweifel) für viele Benutzer nützlich. Einfachere Shells (ash (busybox), dash) und ksh schlagen fehl mit: tést() { echo 34; } tést Aber bash , mksh , lksh und zsh scheinen es zu erlauben. Mir ist bekannt, dass POSIX- gültige Funktionsnamen diese Definition von Namen …
12 bash  shell  zsh  function 


4
Wie man Logrotate in Shell-Skripten implementiert
test.sh #!/bin/bash echo "Hello World" test2.sh #!/bin/bash while true do sh test.sh >> /script_logs/test.log & done Ich möchte logrotate implementieren, um die Größe der Protokolldatei zu steuern. Wie kann ich das logrotate implementieren, wenn die oben beschriebene Situation vorliegt?


4
Bash dynamische (variable) Variablennamen
Ich möchte dynamisch eine Folge von Zeichenfolgen erstellen, indem ich ein Array von Elementen manipuliere und eine arithmetische Prozedur erstelle. for name in FIRST SECOND THIRD FOURTH FIFTH; do $name = $(( $6 + 1 )) $name = "${$name}q;d" echo "${$name}"; printf "\n" done Das Wunschergebnis wäre für $6Gleichgestellte das …
12 bash  variable 

2
Warum kann ich keine Module laden, während ich mein Bash-Skript ausführe, sondern nur, wenn ich es beziehe?
Ich verwende Module zur Steuerung der Pakete auf meinem System und habe python/2.7.2sie als Modul installiert. Ich habe eine einfache ausführbare Python-Datei, python_exe.pydie ich von einem einfachen "Fahr" -Skript aufrufen werde runit.sh. runit.shDas Skript sieht ungefähr so ​​aus: #!/bin/bash module load python/2.7.2 arg1=myarg1 arg2=15 arg3=$5 /path/to/python_exe.py -a $arg1 -b $arg2 …
12 bash  shell  python 

2
Kann die Befehlsvervollständigung für `cd` so geändert werden, dass nur Verzeichnisse angezeigt und Dateien ignoriert werden?
Wenn ich mich in einem Verzeichnis in Bash befinde und auf drücke cd Space Tab, wird als Möglichkeit alles im Verzeichnis angezeigt. ( Show all 1000 possibilities?) Das ist sehr umständlich, wenn ich mich in einem Verzeichnis mit vielen normalen Dateien und relativ wenigen Verzeichnissen befinde. Ist es also möglich, …

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.