UndergroundPx
Anmeldungsdatum: 31. Oktober 2009
Beiträge: Zähle...
|
Hallo ihr lieben, wie kann ich verhindern das #!/bin/bash IN MEINEM Script nicht ausgeführt wird sondern mit echo #!/bin/bash > ~/.vnc/xstartup kopiert wird. Bisher öffnet sich immer eine neue Shell, wie kann ich das verhindern. Ich habe es mit \ \\ [] () und '' mit cp und mv versucht, funktioniert bei MIR aber nicht.
Das soll in eine Datei kopiert werden echo #!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
# /usr/share/gnome-session --session=ubuntu.session
xsetroot -solid grey
#vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
#gnome-classic.session
gnome-session --session=ubuntu &
#ubuntu-2d.session > ~/.vnc/xstartup{{{#!code echo #!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
# /usr/share/gnome-session --session=ubuntu.session
xsetroot -solid grey
#vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
#gnome-classic.session
gnome-session --session=ubuntu &
#ubuntu-2d.session > ~/.vnc/xstartup Danke für die Hilfe. Lieben Gruß Holger
|
Keba
Ehemalige
Anmeldungsdatum: 24. Juli 2007
Beiträge: 3802
|
Hallo, Verwende bitte nächstes Mal die Vorschaufunktion und passe deinen Post entsprechend an, danke. Da wird nichts ausgeführt, allerdings ist # ein Kommentarzeichen, alles danach wird ignoriert. Um das zu verhindern, kannst du einfache Anführungszeichen verwenden: echo '#!/bin/bash' > foo . Grüße, Keba.
|
UndergroundPx
(Themenstarter)
Anmeldungsdatum: 31. Oktober 2009
Beiträge: 51
|
Keba schrieb: Hallo, Verwende bitte nächstes Mal die Vorschaufunktion und passe deinen Post entsprechend an, danke. Da wird nichts ausgeführt, allerdings ist # ein Kommentarzeichen, alles danach wird ignoriert. Um das zu verhindern, kannst du einfache Anführungszeichen verwenden: echo '#!/bin/bash' > foo . Grüße, Keba.
Danke für die schnelle Hilfe.
Sorry das der Text so aussah, aber ich bin mit dem Codeblock nicht klargekommen.....also ich war noch dabei es zu verbessern. Lieben Gruß
Holger
|
UbLinTux
Anmeldungsdatum: 7. Dezember 2011
Beiträge: 122
|
UndergroundPx schrieb: Danke für die schnelle Hilfe.
Sorry das der Text so aussah, aber ich bin mit dem Codeblock nicht klargekommen.....also ich war noch dabei es zu verbessern. Lieben Gruß
Holger
Einfach den Code markieren und dann das Zahnradsymbol klicken.
|
Antiqua
Anmeldungsdatum: 30. Dezember 2008
Beiträge: 4534
|
UndergroundPx schrieb: Sorry das der Text so aussah, aber ich bin mit dem Codeblock nicht klargekommen.....also ich war noch dabei es zu verbessern.
Sorry fürs folgende Off-Topic: Das Problem waren die '' (zwei Hochkomma). Die leiten Kursivschrift ein und warten auf erneute '' die den kursiven Block beenden. Du musst die im Fleißtext, wenn also kein kursiver Text erwünscht ist, entweder mit einem \ Maskieren, also so \'' oder in ` (die umschließen einen Monotype -Block) einschießen, also so `''`. Dann gehts auch mit dem Code-Block ☺
|
UndergroundPx
(Themenstarter)
Anmeldungsdatum: 31. Oktober 2009
Beiträge: 51
|
Antiqua schrieb: UndergroundPx schrieb: Sorry das der Text so aussah, aber ich bin mit dem Codeblock nicht klargekommen.....also ich war noch dabei es zu verbessern.
Sorry fürs folgende Off-Topic: Das Problem waren die '' (zwei Hochkomma). Die leiten Kursivschrift ein und warten auf erneute '' die den kursiven Block beenden. Du musst die im Fleißtext, wenn also kein kursiver Text erwünscht ist, entweder mit einem \ Maskieren, also so \'' oder in ` (die umschließen einen Monotype -Block) einschießen, also so `''`. Dann gehts auch mit dem Code-Block ☺
Antiqua schrieb: UndergroundPx schrieb: Sorry das der Text so aussah, aber ich bin mit dem Codeblock nicht klargekommen.....also ich war noch dabei es zu verbessern.
Sorry fürs folgende Off-Topic: Das Problem waren die '' (zwei Hochkomma). Die leiten Kursivschrift ein und warten auf erneute '' die den kursiven Block beenden. Du musst die im Fleißtext, wenn also kein kursiver Text erwünscht ist, entweder mit einem \ Maskieren, also so \'' oder in ` (die umschließen einen Monotype -Block) einschießen, also so `''`. Dann gehts auch mit dem Code-Block ☺
Danke 🙄 Das klappt jetzt, ABER echo #!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
# /usr/share/gnome-session --session=ubuntu.session
xsetroot -solid grey
#vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
#gnome-classic.session
gnome-session --session=ubuntu &
#ubuntu-2d.session > ~/.vnc/xstartup{{{#!code echo #!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
# /usr/share/gnome-session --session=ubuntu.session
xsetroot -solid grey
#vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
#gnome-classic.session
gnome-session --session=ubuntu &
#ubuntu-2d.session > ~/.vnc/xstartup kopiert sich immer noch nicht in die xstartup Habt ihr vielleicht noch einen Tipp für mich? Bittöö, Bittöö Danke!
Lieben Gruß
Holger
|
track
Anmeldungsdatum: 26. Juni 2008
Beiträge: 7174
Wohnort: Wolfen (S-A)
|
Sorry, ich kapiere immer noch nicht, was Du überhaupt willst. Mir fehlt überhaupt schon der Zusammenhang, wofür das gut sein soll. Wieso sollte sich das Ding in eine andere Datei hinein kopieren ? - und überhaupt, woher weiß das Skript, an welche Stelle in der Zieldatei es was schreiben soll oder darf ? (oder wird da nur was an die Zieldatei angehangen ??) Da müsstest Du mich doch erstmal etwas aufklären, bevor ich etwas sinnvolles dazu sagen kann. (auf meinem Lucid gibt es nämlich überhaupt keine ~/.vnc/xstartup !) track
|
UndergroundPx
(Themenstarter)
Anmeldungsdatum: 31. Oktober 2009
Beiträge: 51
|
track schrieb: Sorry, ich kapiere immer noch nicht, was Du überhaupt willst. Mir fehlt überhaupt schon der Zusammenhang, wofür das gut sein soll. Wieso sollte sich das Ding in eine andere Datei hinein kopieren ? - und überhaupt, woher weiß das Skript, an welche Stelle in der Zieldatei es was schreiben soll oder darf ? (oder wird da nur was an die Zieldatei angehangen ??) Da müsstest Du mich doch erstmal etwas aufklären, bevor ich etwas sinnvolles dazu sagen kann. (auf meinem Lucid gibt es nämlich überhaupt keine ~/.vnc/xstartup !) track
Guten Morgen, ich habe mir ein Installations Script geschrieben was mir alles installieren soll was ich auf einem System brauche und was gemacht werden soll z.B update, upgrade, openssh mit rsa, apache2, mysql-server, phpmydamin,
und vnc etc. Immoment muss ich nur noch die VNC conifg xstartup nach ~/.vnc/xstartup kopieren. VNC Abschnitt aus dem script
USER=MeinUser
echo "Vnc4server Installtion"
apt-get -y install vnc4server
touch vncfirst
chown $user:$user vncfirst
chmod u+x vncfirst
echo
vncpasswd
vncserver :1
sleep 15
vnserver -kill :1 > ~/vncfirst
sudo -u $USER ~/vncfirst
######### Bis hierhin geht alles gut, der Server läuft für 15 Sekunden und wir danach wieder gestoppt.Nachdem ersten Start hat VNC die xstartup angelegt die jetzt ersetzt werden soll #########################
echo
#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
# /usr/share/gnome-session --session=ubuntu.session
xsetroot -solid grey
#vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
#gnome-classic.session
gnome-session --session=ubuntu &
#ubuntu-2d.session > ~/.vnc/xstartup
touch vncserverstart
chmod u+x vncserverstart
chown $USER:$USER vncserverstart
echo 'vncserver :1' > ~/vncserverstart
sudo -u $USER ~/vncserverstart Anstatt den Text zu verschieben öffnet sich eine neue Shell, die geöffnete Shell zeigt mir pötzlich Gnome Einstellungen an dich nicht verstehe und auch nicht haben möchte. Ich hoffe mal das ich dir mein Anliegen besser beschreiben konnte. Lieben Gruß Holger
|
jakon
Lokalisierungsteam
Anmeldungsdatum: 16. November 2009
Beiträge: 419
|
Wie soll die Bash denn auch wissen, dass du jetzt mehrere Zeilen Text in die Datei schreiben willst?! Es ist doch logisch, dass alles nach einer Raute ignoriert wird, wie es dir Keba längst gesagt hat, und dass dieses xstartup -Skript direkt ausgeführt wird, und da nix kopiert wird.
Und wenn du dir das Posting von Keba anschaust, sollte dir hoffentlich die Erleuchtung kommen …
|
UndergroundPx
(Themenstarter)
Anmeldungsdatum: 31. Oktober 2009
Beiträge: 51
|
jakon schrieb: Wie soll die Bash denn auch wissen, dass du jetzt mehrere Zeilen Text in die Datei schreiben willst?! Es ist doch logisch, dass alles nach einer Raute ignoriert wird, wie es dir Keba längst gesagt hat, und dass dieses xstartup -Skript direkt ausgeführt wird, und da nix kopiert wird.
Und wenn du dir das Posting von Keba anschaust, sollte dir hoffentlich die Erleuchtung kommen …
Hallo, wenn du mein Post richtig gelesen hast steht da was ich alles schon selbst versucht habe.
Nochmal ich habe es mit '' und () [] (()) und sorgar mit "" versucht. Klappt nicht weil das ganze Script nicht eingefasst wird sondern nur das erste
# Kommentarzeihen. Und ich habe nochmal das probiert was mir Keba gepostet hat,dass geht aber auch nicht. Warum nicht?
Weil nur das erste '# Zeichen auskommentiert wurde und nicht der ganze Text.
Mein Frage ist immer noch wie bekommen ich den ganzen oben aufgezeigten Scirpt Text in die .vnc/xstartup.
Muss ich den Scriptabschnitt noch klammern z.B '(( #!/bin/bash Script ))' oder so einfassen... '[ mein Script]' damit das ganze Script kopiert wird? Lieben Gruß Holger
|
jakon
Lokalisierungsteam
Anmeldungsdatum: 16. November 2009
Beiträge: 419
|
…
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 | #!/bin/dash
echo '#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
# /usr/share/gnome-session --session=ubuntu.session
xsetroot -solid grey
#vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
#gnome-classic.session
gnome-session --session=ubuntu &
#ubuntu-2d.session' # ich verzichte jetzt auf verschieben in ~/.vnc
|
Ausgabe:
#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
# /usr/share/gnome-session --session=ubuntu.session
xsetroot -solid grey
#vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
#gnome-classic.session
gnome-session --session=ubuntu &
#ubuntu-2d.session
Ich weiß zwar nicht, wie du auf die Idee mit den Klammern gekommen bist, allerdings ist es auf jeden Fall falsch.
|
UndergroundPx
(Themenstarter)
Anmeldungsdatum: 31. Oktober 2009
Beiträge: 51
|
UndergroundPx schrieb: UndergroundPx schrieb: jakon schrieb: Wie soll die Bash denn auch wissen, dass du jetzt mehrere Zeilen Text in die Datei schreiben willst?! Es ist doch logisch, dass alles nach einer Raute ignoriert wird, wie es dir Keba längst gesagt hat, und dass dieses xstartup -Skript direkt ausgeführt wird, und da nix kopiert wird.
Und wenn du dir das Posting von Keba anschaust, sollte dir hoffentlich die Erleuchtung kommen …
Hallo, wenn du mein Post richtig gelesen hast steht da was ich alles schon selbst versucht habe.
Nochmal ich habe es mit '' und () [] (()) und sorgar mit "" versucht. Klappt nicht weil das ganze Script nicht eingefasst wird sondern nur das erste
# Kommentarzeihen. Und ich habe nochmal das probiert was mir Keba gepostet hat,dass geht aber auch nicht. Warum nicht?
Weil nur das erste '# Zeichen auskommentiert wurde und nicht der ganze Text.
Mein Frage ist immer noch wie bekommen ich den ganzen oben aufgezeigten Scirpt Text in die .vnc/xstartup.
Muss ich den Scriptabschnitt noch klammern z.B '(( #!/bin/bash Script ))' oder so einfassen... '[ mein Script]' damit das ganze Script kopiert wird? Lieben Gruß Holger
Hallo, ich bin schon ein bisschen weiter gekommen.
zurzeit weiß ich das ich folgende Vorzeichen nehmen kann "" `` und \ die jeder für sich Sonderezeichen oder Wildcarts oder Metazeichen aufheben.
Wie ich den ganzen Script Text damit einfassen kann weiß ich immer noch nicht.
Vielleicht geht das auch gar nicht, und ich muss alles einzeln auskommentieren. Lieben Gruß Holger
|
Antiqua
Anmeldungsdatum: 30. Dezember 2008
Beiträge: 4534
|
Das geht mit cat und einem sog. Here-Document. Sieh dir folgendes Script mal an:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 | #!/bin/bash
# alles nach 'EOF' und vor EOF wird in
# die Datei neuerfile.txt geschrieben
(
cat <<'EOF'
#!/bin/bash
# tuedelue
echo "Hallo, ich bins, $0"
#
echo "heute ist $(date)"
EOF
) > neuerfile.txt
# neuerfile.txt wird ausführbar gemacht
chmod +x neuerfile.txt
# neuerfile.txt wir ausgeführt
./neuerfile.txt
|
Da wird bei Ausführen dieses Scriptes alles zwischen den EOF (also Zeile 8 bis 13) in die Datei neuerfile.txt geschrieben, danach wird neuerfile.txt ausführbar gemacht (Zeile 18) und dann ausgeführt (Zeile 21).
Eine Bitte hätte ich noch: Deine Vollzitate der anderen Postings macht alles sehr schwer lebar, Zitiere doch nur das, worauf du dich beziehst LG: Antiqua
|
track
Anmeldungsdatum: 26. Juni 2008
Beiträge: 7174
Wohnort: Wolfen (S-A)
|
UndergroundPx schrieb: ...
######### Bis hierhin geht alles gut, der Server läuft für 15 Sekunden und wir danach wieder gestoppt.Nachdem ersten Start hat VNC die xstartup angelegt die jetzt ersetzt werden soll #########################
echo
#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
....
So langsam ahne ich, was Du willst ! Du möchtest mit dem 2. Teil des Skripts die Datei ~/.vnc/xstartup überschreiben ... Die eleganteste Lösung wäre der Vorschlag von Antiqua, mit einem Here-Dokument:
....
######### Bis hierhin geht alles gut, der Server läuft für 15 Sekunden und wir danach wieder gestoppt.Nachdem ersten Start hat VNC die xstartup angelegt die jetzt ersetzt werden soll #########################
cat << EOF > ~/.vnc/xstartup
#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
# /usr/share/gnome-session --session=ubuntu.session
xsetroot -solid grey
#vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
#gnome-classic.session
gnome-session --session=ubuntu &
#ubuntu-2d.session > ~/.vnc/xstartup
touch vncserverstart
chmod u+x vncserverstart
chown $USER:$USER vncserverstart
echo 'vncserver :1' > ~/vncserverstart
sudo -u $USER ~/vncserverstart
EOF Dann brauchst Du Dich um das "quoten" nicht weiter zu kümmern. Oder Du korrigierst die Gänsefüßchen in der Zeile:
echo "vncserver :1" > ~/vncserverstart damit keine gemischten Gänsefüßchen mehr vorkommen. Dann geht es auch mit echo:
....
######### Bis hierhin geht alles gut, der Server läuft für 15 Sekunden und wir danach wieder gestoppt.Nachdem ersten Start hat VNC die xstartup angelegt die jetzt ersetzt werden soll #########################
echo '#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
# /usr/share/gnome-session --session=ubuntu.session
xsetroot -solid grey
#vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
#gnome-classic.session
gnome-session --session=ubuntu &
#ubuntu-2d.session > ~/.vnc/xstartup
touch vncserverstart
chmod u+x vncserverstart
chown $USER:$USER vncserverstart
echo 'vncserver :1' > ~/vncserverstart
sudo -u $USER ~/vncserverstart' > ~/.vnc/xstartup track
|
UndergroundPx
(Themenstarter)
Anmeldungsdatum: 31. Oktober 2009
Beiträge: 51
|
Hi, ich habe es geschafft, mir eurer hilfe. Bedanke mich vielmals für eure hilfe. Auf bald.
Lieben Gruß Holger
|