Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[gelöst] bash: Mehrfachumleitung
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
V10lator
Apprentice
Apprentice


Joined: 11 Jul 2004
Posts: 199

PostPosted: Tue Jan 04, 2011 9:32 pm    Post subject: [gelöst] bash: Mehrfachumleitung Reply with quote

Hi,
Ich versuche mit Hilfe der Bash eine Mehrfachumleitung zu realisieren. Um genau zu sein versuche ich alle USB-Geräte in den automatischen Powersaving-Modus zu bringen.
Zuerst versuchte ich:

echo auto > /sys/bus/usb/devices/?-?/power/level

Aber dies schlägt mit der Meldung "bash: /sys/bus/usb/devices/?-?/power/level: Mehrdeutige Umlenkung." fehl.
Also versuchte ich es mit find:

find /sys/bus/usb/devices/?-? -exec echo 'on > {}/power/level' ';'

Aber das funktioniert auch nicht. Ich habe auch noch viele andere Möglichkeiten mit find -exec versucht, sie funktionierten aber alle nicht.

Hat jemand eine funktionierende Lösung?


Last edited by V10lator on Wed Jan 05, 2011 3:26 am; edited 1 time in total
Back to top
View user's profile Send private message
tuam
l33t
l33t


Joined: 04 May 2004
Posts: 765
Location: CGN, Germany

PostPosted: Tue Jan 04, 2011 10:53 pm    Post subject: Re: bash: Mehrfachumleitung Reply with quote

TAXI wrote:
find /sys/bus/usb/devices/?-? -exec echo 'on > {}/power/level' ';'
Aber das funktioniert auch nicht.

Hallo Taxi,

das dürfte von der Anführungszeichensetzung her nicht gehen - keine Ahnung, ob find -exec oder find | xargs überhaupt die Umleitung so unterstützen. Aus dem Kopf würde ich es mit einer for-Schleife in Bash probieren
Code:
for f in /sys/bus/usb/devices/?-? ; do echo auto ${f}/power/level ; done

FF,

Daniel
_________________
Logic clearly dictates that the needs of the many outweigh the needs of the few. - Spock
The needs of the one outweigh the needs of the many. - Kirk
I refuse to let arithmetic decide questions like that. - Picard
Back to top
View user's profile Send private message
Christian99
Veteran
Veteran


Joined: 28 May 2009
Posts: 1178

PostPosted: Tue Jan 04, 2011 11:24 pm    Post subject: Reply with quote

In diesem Fall hätte ich auch zu einer for-Schleife geraten,
eine Mehrfachumleitung lässt sich mit "tee" verwirklichen:
Code:

$ echo hallo | tee test1 | tee test2 > test3
$ cat test[123]
hallo
hallo
hallo
Back to top
View user's profile Send private message
V10lator
Apprentice
Apprentice


Joined: 11 Jul 2004
Posts: 199

PostPosted: Wed Jan 05, 2011 3:25 am    Post subject: Reply with quote

Vielen Dank.
Ich habe jedoch eine andere Möglichkeit gefunden welche ich euch natürlich nicht vorenthalten möchte:
Code:
find /sys/bus/usb/devices/?-?/power/level -exec /bin/bash -c 'echo auto > {}' \;
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6290

PostPosted: Wed Jan 05, 2011 4:46 pm    Post subject: Reply with quote

TAXI wrote:
Code:
find /sys/bus/usb/devices/?-?/power/level -exec /bin/bash -c 'echo auto > {}' \;

Das ist aber natürlich das Langsamste: X Instanzen der Bash (nimm da wenigstens dash, die startet schneller) + ein find-Prozess.
Und hier haben wir übrigens ein weiteres Beispiel, weshalb man zsh benutzen will: Da ginge Dein erstes Kommando exakt so, wie Du es erwartest...
Back to top
View user's profile Send private message
V10lator
Apprentice
Apprentice


Joined: 11 Jul 2004
Posts: 199

PostPosted: Wed Jan 05, 2011 8:33 pm    Post subject: Reply with quote

mv wrote:
Und hier haben wir übrigens ein weiteres Beispiel, weshalb man zsh benutzen will: Da ginge Dein erstes Kommando exakt so, wie Du es erwartest...

Ich benutze zsh als interaktive Shell. ;)
Ich habe auch versucht die erste Zeile des Scriptes von #!/bin/bash durch #!/bin/zsh zu ersetzen, komischerweise klappte das Kommando so im Script aber auch nicht.
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6290

PostPosted: Wed Jan 05, 2011 9:07 pm    Post subject: Reply with quote

TAXI wrote:
[Ich habe auch versucht die erste Zeile des Scriptes von #!/bin/bash durch #!/bin/zsh zu ersetzen, komischerweise klappte das Kommando so im Script aber auch nicht.

Bei mir hat es (mit anderen Filenamen) beim interaktiven Testen funktioniert. Vielleicht gibt es ein anderes Problem...
Back to top
View user's profile Send private message
V10lator
Apprentice
Apprentice


Joined: 11 Jul 2004
Posts: 199

PostPosted: Thu Jan 06, 2011 12:17 am    Post subject: Reply with quote

mv wrote:
Bei mir hat es (mit anderen Filenamen) beim interaktiven Testen funktioniert.

Genau hier ist das Problem. Gebe ich den Befehl in eine interaktive zsh shell ein funktioniert er. Schreibe ich ihn jedoch in ein Script mit "#!/bin/zsh" am Anfang funktionert er nicht.

Aber naja, es funktioniert ja mitlerweile über Umwege, wozu sich also weiter den Kopf zerbrechen? :)
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6290

PostPosted: Thu Jan 06, 2011 3:01 pm    Post subject: Reply with quote

TAXI wrote:
Gebe ich den Befehl in eine interaktive zsh shell ein funktioniert er. Schreibe ich ihn jedoch in ein Script mit "#!/bin/zsh" am Anfang funktionert er nicht.

Kann ich nicht nachvollziehen: Bei mir funktioniert er auch im Script. Vielleicht hast Du vergessen das Skript ausführbar zu machen, oder es wird durch irgendeine Fehlkonfiguration von /bin/sh statt zsh aus gesourced? Du kannst ja mal testweise $ZSH_VERSION in dem Skript ausgeben, ob wirklich die zsh da ist...
Back to top
View user's profile Send private message
V10lator
Apprentice
Apprentice


Joined: 11 Jul 2004
Posts: 199

PostPosted: Fri Jan 07, 2011 12:40 am    Post subject: Reply with quote

mv wrote:
Kann ich nicht nachvollziehen: Bei mir funktioniert er auch im Script.

Tatsache, nun funktionert es.
Vielleicht hab ich mich beim ersten mal irgendwo vertippt? :?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum