App installieren
How to install the app on iOS
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
[Linux Shell-Script] wie variable mit parametern definieren!
- Ersteller MyKron
- Erstellt am
MyKron
Commodore Special
- Mitglied seit
- 15.01.2002
- Beiträge
- 499
- Renomée
- 1
- Standort
- Berlin
- Aktuelle Projekte
- rosetta@home
- Meine Systeme
- i7-5820K, Ryzen 5 2600
- BOINC-Statistiken
- Folding@Home-Statistiken
- Mein Laptop
- IBM Lenovo T60
- Prozessor
- Intel i7-5820K
- Mainboard
- Asus X99
- Kühlung
- Mugen II
- Speicher
- 32 GB
- Grafikprozessor
- NVIDIA GTX970
- Display
- DELL U2715H und NEC 2070nx
- SSD
- Samsung 850 (512) und 750 (256) Evo
- HDD
- 1TB WD Blue
- Optisches Laufwerk
- Samsung DVD Brenner
- Soundkarte
- onboard
- Gehäuse
- Nanoxia Deep Silence 1 Rev. B schwarz
- Netzteil
- BeQuite Straight Power
- Betriebssystem
- Linux Mint 17.3
- Webbrowser
- FF
Hi Leute!
Ich bin gerade dabei mein erstes shell script zu schreiben unt scheitere an folgender sache:
Ich moechte mir eine variable definieren namens datum die folgendes enthaelt 20050324.
auf der konsole klappt das mit DATUM='date +%Y%m%d'. anschliessender aufruf von $DATUM leifert gewuenschtes ergebnis. auch ein direkter aufruf aus dem shell script klappt, wenn ich jedoch die variable auf folgede art verwenden moechte:
zip -r -D -9 ~/backup/$DATUM/$FILENAME jobs/*
wird mir der fehler angezeigt, dass 'date +%Y%m%d' kein gueltiges verzeichnis sei.
ich moment nehme ich die sh shell, aber auch versuche mit csh, tcsh und bash haben nichts gebracht. Hab ihr eine Empfehlung fuer eine shell und wie kann ich das problem loesen??
Dank schonmal!
Ich bin gerade dabei mein erstes shell script zu schreiben unt scheitere an folgender sache:
Ich moechte mir eine variable definieren namens datum die folgendes enthaelt 20050324.
auf der konsole klappt das mit DATUM='date +%Y%m%d'. anschliessender aufruf von $DATUM leifert gewuenschtes ergebnis. auch ein direkter aufruf aus dem shell script klappt, wenn ich jedoch die variable auf folgede art verwenden moechte:
zip -r -D -9 ~/backup/$DATUM/$FILENAME jobs/*
wird mir der fehler angezeigt, dass 'date +%Y%m%d' kein gueltiges verzeichnis sei.
ich moment nehme ich die sh shell, aber auch versuche mit csh, tcsh und bash haben nichts gebracht. Hab ihr eine Empfehlung fuer eine shell und wie kann ich das problem loesen??
Dank schonmal!
Tom24
Grand Admiral Special
- Mitglied seit
- 14.01.2001
- Beiträge
- 5.401
- Renomée
- 7
Warscheinlich musst du das Verzeichniss mit dem Datum erstmal erstellen?
Bleib bei /bin/sh.
Ich hab selber mal ein Backupscript angefangen, aber es nie beendet, einige Sachen sind auch nicht so optimal, ist aber 'ne gute Basis.
Bitte Lizenz beachten
http://tom.ruegen-grafik.de/files/backup.sh
EDIT: Das backup.sh Ding funktioniert jetzt. Gelegenheit macht Bugfixing
Bleib bei /bin/sh.
Ich hab selber mal ein Backupscript angefangen, aber es nie beendet, einige Sachen sind auch nicht so optimal, ist aber 'ne gute Basis.
Bitte Lizenz beachten
http://tom.ruegen-grafik.de/files/backup.sh
EDIT: Das backup.sh Ding funktioniert jetzt. Gelegenheit macht Bugfixing
Zuletzt bearbeitet:
Wildy
Admiral Special
- Mitglied seit
- 13.03.2002
- Beiträge
- 1.701
- Renomée
- 1
- Standort
- Daheim
- Mein Laptop
- Samsung NC10 mit Ubuntu 9.10
- Prozessor
- C2D E6750
- Mainboard
- Intel DG33TL
- Kühlung
- Intel boxed
- Speicher
- 2 GB A-Data 800-Kit
- Grafikprozessor
- Asus GF8600GT silent (passiv gekühlt)
- Display
- Samsung 205BW
- HDD
- Samsung HD252KJ
- Optisches Laufwerk
- Samsung SH-S203B
- Soundkarte
- Sigmatelchip (onboard)
- Gehäuse
- Zirco AX
- Netzteil
- Seasonic S12II 430
- Betriebssystem
- Ubuntu 09.10
Zum Skript sag ich mal nix .. dafür müsste ich noch einiges nachholen. Aber die Lizens hat was
Edit: Ok, nun weiss ich wieder, wieso die mir bekannt vorkam, kann ja nur aus dem xBSD-Lager kommen
Edit: Ok, nun weiss ich wieder, wieso die mir bekannt vorkam, kann ja nur aus dem xBSD-Lager kommen
Zuletzt bearbeitet:
falls du das so mit apostroph gemacht hast, ist das falsch. richtiger waeren backticks `, noch besser ist $().auf der konsole klappt das mit DATUM='date +%Y%m%d'
das verzeichnis muss erst angelegt werden. ausserdem ist zip in der linux/unix-welt keine gute wahl. tar in verbindung mit gzip bzw. bzip2 ist der standard.zip -r -D -9 ~/backup/$DATUM/$FILENAME jobs/*
schreib alles so, dass es mit sh funktioniert. selten braucht man wirklich ein feature, welches in sh nicht existiert. csh ist voellig unbrauchbar, bash ist die linux-standard-seuche, sh wie gesagt ist der kleinste gemeinsame nenner, auf den du auf fast jedem system zaehlen kannst.ich moment nehme ich die sh shell, aber auch versuche mit csh, tcsh und bash haben nichts gebracht. Hab ihr eine Empfehlung fuer eine shell und wie kann ich das problem loesen??
Tom24
Grand Admiral Special
- Mitglied seit
- 14.01.2001
- Beiträge
- 5.401
- Renomée
- 7
Das moechte ich hier auch nocheinmal betonen.schreib alles so, dass es mit sh funktioniert. selten braucht man wirklich ein feature, welches in sh nicht existiert. csh ist voellig unbrauchbar, bash ist die linux-standard-seuche, sh wie gesagt ist der kleinste gemeinsame nenner, auf den du auf fast jedem system zaehlen kannst.
csh:
http://www.cs.uu.nl/wais/html/na-dir/unix-faq/shell/csh-whynot.html
bash:
Das schlimmste daran ist, dass der sh-Modules der bash nicht 100% sh abildet, sondern auch erweitert. Das machen sich einige zu Nutze und schreiben #!/bin/sh Scripte, die aber bash Erweiterungen benutzen.
Grauenvoll.
Mit $() wird der Code wirklich besser lesbar, ich hab die backquotes viel zu lange benutzt.richtiger waeren backticks `, noch besser ist $().
Zuletzt bearbeitet:
MyKron
Commodore Special
- Mitglied seit
- 15.01.2002
- Beiträge
- 499
- Renomée
- 1
- Standort
- Berlin
- Aktuelle Projekte
- rosetta@home
- Meine Systeme
- i7-5820K, Ryzen 5 2600
- BOINC-Statistiken
- Folding@Home-Statistiken
- Mein Laptop
- IBM Lenovo T60
- Prozessor
- Intel i7-5820K
- Mainboard
- Asus X99
- Kühlung
- Mugen II
- Speicher
- 32 GB
- Grafikprozessor
- NVIDIA GTX970
- Display
- DELL U2715H und NEC 2070nx
- SSD
- Samsung 850 (512) und 750 (256) Evo
- HDD
- 1TB WD Blue
- Optisches Laufwerk
- Samsung DVD Brenner
- Soundkarte
- onboard
- Gehäuse
- Nanoxia Deep Silence 1 Rev. B schwarz
- Netzteil
- BeQuite Straight Power
- Betriebssystem
- Linux Mint 17.3
- Webbrowser
- FF
Wunderbar $() klappt hervorragend, auch wenn es mir schon fast peinlich ist, dass ich nicht daran gedacht habe das verzeichnis vorher zu erstellen, ich bin jetzt aber von dem extraordner abgekommen, und lege nur die gepackten Dateien ab.
zip habe ich nur benutzt weil ich die syntax noch kannte, sicherlich werde ich auf tar.gz umsteigen, aber das ist nur schönheitskosmetik. das backupscript soll auch wirklich nicht sonderlich viel machen, nur einen ordner packen, auf den nur ich zugriff habe. dient lediglich zum zurückverfolgen von arbeitschritten
vielen dank euch allen, ihr habt sehr geholfen!
p.s. die backup.sh schau ich mir bei gelegenheit mal näher an!
zip habe ich nur benutzt weil ich die syntax noch kannte, sicherlich werde ich auf tar.gz umsteigen, aber das ist nur schönheitskosmetik. das backupscript soll auch wirklich nicht sonderlich viel machen, nur einen ordner packen, auf den nur ich zugriff habe. dient lediglich zum zurückverfolgen von arbeitschritten
vielen dank euch allen, ihr habt sehr geholfen!
p.s. die backup.sh schau ich mir bei gelegenheit mal näher an!
Wuschl
Vice Admiral Special
Andere Frage dazu:
Was ist der Unterschied zwischen $() und ${} ?
PS: Tolle Lizenzbestimmungen
Gruß Wuschl
EDIT: ddate kam mir nicht bekannt vor also hab ich mir mal die Manpage angeschaut: http://www.rt.com/man/ddate.1.html
Hat sich denn noch keiner gefunden der ein Programm schreibt, welches auf Deutsch sagt: "Heute ist der x-te Tag bevor der Osterhase kommt"? Denn auf Englisch gibts das ja schon
Oder habe ich den Sinn von ddate missverstanden?
Was ist der Unterschied zwischen $() und ${} ?
PS: Tolle Lizenzbestimmungen
Gruß Wuschl
EDIT: ddate kam mir nicht bekannt vor also hab ich mir mal die Manpage angeschaut: http://www.rt.com/man/ddate.1.html
Hat sich denn noch keiner gefunden der ein Programm schreibt, welches auf Deutsch sagt: "Heute ist der x-te Tag bevor der Osterhase kommt"? Denn auf Englisch gibts das ja schon
Oder habe ich den Sinn von ddate missverstanden?
Zuletzt bearbeitet:
Tom24
Grand Admiral Special
- Mitglied seit
- 14.01.2001
- Beiträge
- 5.401
- Renomée
- 7
$() substituiert den Rueckgabewert eines Befehls.Original geschrieben von Wuschl
Andere Frage dazu:
Was ist der Unterschied zwischen $() und ${} ?
${} substituiert den Wert einer Variable.
Diskordianismus:
Eine Religion getarnt als Witz, getarnt als Religion.
Wuschl
Vice Admiral Special
Original geschrieben von Tom24
$() substituiert den Rueckgabewert eines Befehls.
${} substituiert den Wert einer Variable.
Diskordianismus:
Eine Religion getarnt als Witz, getarnt als Religion.
Also wäre demnach ${VARIABLE} das Selbe wie $VARIABLE ?
Diskordianismus: Hätte mir nicht gedacht, dass sich jemand die Mühe macht, solch einen Schwachsinn in ein Programm zu packen
Gruß Wuschl
Tom24
Grand Admiral Special
- Mitglied seit
- 14.01.2001
- Beiträge
- 5.401
- Renomée
- 7
Ja, IMHO ist ersteres besser zu lesen und einfacher zu parsen.Also wäre demnach ${VARIABLE} das Selbe wie $VARIABLE ?
Wuschl
Vice Admiral Special
Thx meine Herren! Allmählich löst sich das Shell-Klammernrätsel in Luft auf
Gruß Wuschl
Gruß Wuschl
Tom24
Grand Admiral Special
- Mitglied seit
- 14.01.2001
- Beiträge
- 5.401
- Renomée
- 7
Genau auf dieses Szenario wollte ich hinaus.Original geschrieben von TCM
vor allem hilft es, wenn man strings konstruiert, die zum teil aus variablen bestehen:ist zb mehrdeutig. dafuer gibts dannCode:FOO=bar echo "$FOOgeld"
Code:echo "${FOO}geld"
Wuschl
Vice Admiral Special
Jo, und ohne diese tollen Klammerspielchen würde das dann so aussehen - alle meine Scripte sehen (noch) so aus:
echo "Wuschl wurde am "`date +%x%y%z` "herumgewuschlt "
Wieder was gelernt. Meine Herren, ihr seid ja doch die größten!
Gruß Wuschl
echo "Wuschl wurde am "`date +%x%y%z` "herumgewuschlt "
Wieder was gelernt. Meine Herren, ihr seid ja doch die größten!
Gruß Wuschl
Ähnliche Themen
- Antworten
- 3
- Aufrufe
- 7K
- Antworten
- 0
- Aufrufe
- 4K
- Antworten
- 0
- Aufrufe
- 377K