Wie kann ich Umgebungsvariablen in Bash-Skript auswerten?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Das ist einfach: Du musst nur in einer for-Schleife den Output von $(printenv) bzw. $(env) mit den Mitteln der Bash pruefen. Also zuerst die Schleife "for i in $(env) ; do" und dann ein Test wie "if [[ ${i} == MEIN_STRING ]]". (Hinweis: Da in meinem Beispiel die doppelten [ ] benutzt werden, braucht man die Ausdruecke nicht in "" schreiben.)

Der Text MEIN_STRING steht zwischen zwei Sternchen. Leider konnte ich die hier nicht richtig schreiben ;)

0

Vielen vielen Dank. Jetzt bin ich auf jeden Fall ein Stück weitergekommen.

0

probiere das Folgende im Terminal ...

set |grep suchstring

... wenn erfolgreich, packe das in ein Script und mache es ausführbar

also etwa so

#!/bin/bash
set |grep $1

das sollte reichen!

Falls du Leer- und Sonderzeichen verwenden willst, klammere mit ", also "$1"

Das Auslsen von Umgebungsvariablen in einem Bash Script ist trivial: Um die Variable test auszulesen, schreibt man einfach $test. Schwieriger ist da, auf alle Umgebungsvariablen zuzugreifen, die mit test anfangen...

Gibt es die Möglichkeit in ein Bash Skript einen Zufallsgenerator einzubauen, der aus festgelegten Variablen eine Zufällige ausgibt?

Und zwar sitze ich momentan an einem Skript, das mir und meinen Kollegen sagen soll, wo wir in der Mittagspause essen gehen sollen. Mein Problem ist jetzt das ich nicht weiß wie ich aus den 4 Variablen = Ikea, Döner, Chinetzen (also Asiamann) oder Bäcker eine zufällige ausgeben lassen kann. Desweiteren hab ich einen Arbeitskollegen der kein Ikea mag und einen der keinen Döner mag. Aber das lässt sich doch problemlos über if und then lösen denke ich? Ich muss zugeben das ich da noch recht neu bin, Ausbildung und so.. :) Danke

...zur Frage

Bash Skript mit ja antworten?

Huhu....

Kann man einem Befehl (rpi-update) ein “j“ übergeben bei fragen obwohl es keine eingebaute Möglichkeit bietet? Also wenn ich ein Skript starte mit rpi-update dann kommt das Skript nie zum Ende da der Befehl auf ein h oder n wartet.... Kann.man das irgendwie umgehen bzw gibt es eine Möglichkeit eine Antwort zu senden?

Vielen Dank

...zur Frage

Von ~$ auf ~# wechseln?

Wie wechselt man bei Shell-Programmen vom ~$ Prompt auf den ~# Root Shell Prompt?

...zur Frage

Bash: Ausgabe von find mit echo. Wie funktioniert Zeilenumbruch nach jeder Datei?

Ich möchte in meinem Bash-Skript mit find nach Dateien suchen und diese mit echo ausgeben. Folgende Zeile funktioniert:

echo find $1 -size +$2c

Dabei steht im ersten Parameter der Verzeichnisname, im zweiten die Größe der Dateien.

Jetzt hängt echo die Dateinamen in einer Zeile aneinander. Kann ich irgendwie einen Zeilenumbruch nach jedem Dateinamen einbauen?

...zur Frage

Bash: Datumsvergleich

Ich habe noch eine Frage zur Bash-Skript-Programmierung. Ich habe zwei Dateien, die eine hat mein Skript ermittelt, die andere wurde übergeben. Nun habe ich von beiden Dateien das letzte Änderungsdatum in Variablen gespeichert. Diese Daten möchte ich nun vergleichen, aber mein Ansatz unten funktioniert nicht.

if [[ "$TAGUEBERGABE > $TAG" ]]

then

echo "$NAME"

fi

Oder gibt es vielleicht sogar eine einfachere Möglichkeit herausfinden, welche Datei älter oder jünger ist?

...zur Frage

Was möchtest Du wissen?