Hallo,
ich versuchte gerade eine Weile
bash:#testvar=date +%H
Mit allen möglichkeiten {} "\'\'" \'\' usw. nur leider steht in der variablen testvar dann nicht die aktuelle Zeit.
Hat Irgendjemand einen genialen Einfall. Danke im Voraus.
Linux 15.036 Themen, 107.107 Beiträge
Du musst Backsticks (`) nehmen. Also:
testvar=`date +%H`
Bye, Klaus
Hi Klaus,
bei mir gibt dann ein echo $testvar
date +%H
aus (den String und nicht die Uhrzeit).
Ich würde aber gerne das er das Ergebnis dieses Programmaufrufs in der Variablen testvar speichert. Oder habe ich da die Shellprogrammierung falschverstanden. Ansonsten muss ich es mit Perl oder PHP machen.
Dann machst irgendetwas verkehrt:
[nathan:klaus]~$ testvar=`date +%H`
[nathan:klaus]~$ echo $testvar
13
[nathan:klaus]~$
Du hast dann keine ` genommen, sondern '. Der Backstick liegt rechts neben der ? Taste.
Klaus
Stimmt, so gehts auch !!
Vielen dank.
In den Büchern, und Manuals sieht das aus wie ein normales '.
Vielen Dank. Du hast mir verdammt viel Arbeit erspart.
Hallo Robert !
Das sollte so aussehen :
#!/bin/sh
testvar=$(date +%H)
echo $testvar
Gruß
repi
> #!/bin/sh
> testvar=$(date +%H)
Noch ein kurzer Hinweis:
Das klappt unter einer "echten" Bourne-Shell nicht, kompatibel ist nur die Version mit den Backticks. Wenn /bin/sh aber nur ein link auf bash ist, merkt man den Unterschied natürlich nicht. Korrekterweise hättest du #!/bin/bash schreiben sollen.
Bundeskanzler
O.K. sh ist bei mir (SUSe 7.0 Distri) ein Link auf bash !!