Bequem Prioritäten setzen (renice)

Fusselbär

Makefile Voyeur
Ich habe mir da mal was in meine ~/.cshrc gefrickelt:
Code:
grep prio ~/.cshrc

alias prio0     'sudo renice -0 `pgrep \!*`'
alias prio5     'sudo renice -5 `pgrep \!*`'
alias prio10    'sudo renice -10 `pgrep \!*`'
Mein Firefox zum Beispiel, der heißt "firefox-nightly". Will ich während dem compilern dem Firefox für flottere Internet Nutzung hörere Priorität zukommen lassen, dann reicht damit:
Code:
prio5 firefox

Aber mal eine Frage noch: kann es sein, dass die Tenex C Shell manchmal doch mehr Komfort bietet, als die Bash? Das mit dem Parameter im alias übergeben \!* geht ja bei der Bash nicht.
 
Ja, die Aliase in der Tcsh sind leistungsfaehiger als in der Bash. Dafuer kennt die Bash (auch Ksh etc.) aber Shellfunktionen, die koennen noch viel mehr: Es sind vollwertige Unterprogramme mit lokalen Variablen usw. Wenn Du in der Tcsh etwas Besseres als einen Alias haben willst, bleibt Dir nur uebrig, ein ganzes Skript zu verfassen, also nichts innerhalb der .cshrc.
 
Ich bin ja ein alter Sack, der die tcsh nutzt und sich eine recht umfassende Konfiguration gebaut hat. Dennoch würde ich heute eine andere Shell wählen. Ich bin nur zu faul zum Umlernen... Es gibt immer noch Dinge, die in meinen Augen stark für die tcsh sprechen:
  • Sie ist relativ schlank, kann aber dennoch alles wichtige.
  • Die 'History' ist sehr frei konfigurierbar, nur die zsh kommt da ran.
  • 'Magic Space' ist einfach cool, wieder hat nur die zsh es brauchbar geklont.
  • Die tcsh liegt unter FreeBSD halt dabei.
Aber eben auch gewichtige Gegenargumente:
  • Die ganze Welt nutzt Bourne-Shells, die C-Shell-Familie mit ihren abweichenden Kommandos fällt aus der Reihe.
  • Der Syntax der C-Shell-Familie ist total kaputt. Inkonsistent, unvorhersehbar, unvollständig.
  • Die tcsh hat eine ganze Reihe obskurer Bugs, über die man so nach und nach stolpert.
  • Die tcsh ist racy, gerade in Sachen Hostory kommen sich Instanzen gerne mal in die Haare.
  • Die tcsh kann keinen richtigen Prozessbaum von Login Shell -> Erste Ebene -> ... -> n-te Ebene bauen. Das Environment wird z.b. teilweise falsch zwischen den Instanzen übergeben, wenn man nicht höllisch aufpasst.
 
Hässliches Thema, das. Ich selbst verwende übrigens auch (t)csh (und bin nicht unzufriedener als mit bash).

Hässlich weil:

Welche Alternativen gibt's denn? Zsh ist (subjektiv ausgedrückt) ein fettes Monster, Bash ebenso und obendrein traue ich Bash nicht. Dann gibt's noch exotisches Zeug wie fish und Co. Sowas kann man ja vielleicht als Spiel mal auf dem ubuntu home-System installieren, aber doch nicht auf Produktions Servern.

Irgendwie scheint das Thema Shell auch in den 70ern oder spätestens 80ern weitestgehend stehen geblieben zu sein. Zum Teil ist das Problem wohl auch, dass die Aufgaben von Shells unklar bzw. zu weitreichend definiert sind. Teilweise sind da ja ziemlich komplette Scriptsprach-Interpreter eingebaut, wenn auch mit exotischer Syntax.
Und überhaupt: Frag 3 ITler, was eine gute Shell haben/können sollte und du kriegst 5 ziemlich unterschiedliche Antworten *g

Meine persönliche "Lösung": tcsh weitgehend "doof" wie ash verwenden (weil ich nunmal auch mit und für linux arbeite) und alles, was nicht ultratrivial ist, mit Python (wobei ich auch da nicht ganz glücklich bin, weil auch Python arg fett geworden ist).

Ach und: Danke Yamagi
 
Fettes Monster? Ach komm, das ist bei den heutigen Computern doch voellig belanglos. Ungefaehr so wie der gerne bemuehte Vergleich zwischen rxvt und xterm.
Und warum traust Du der Bash nicht? Wegen dieses haesslichen Variablen-Bugs neulich? Shit happens, auch bei anderen Programmen. Und Bash faellt i. a. nicht negativ aus der Reihe.
Ich koennte mal Werbung machen fuer die Ksh: Sie ist schlanker als die Bash, bietet natuerlich auch nicht so viele Gimmicks, muss wohl auch etwas konfiguriert werden, bevor sie gut laeuft, hat dann aber alles Grundlegende (Completion usw.) - und ein paar nette Alleinstellungsmerkmale, z. B. Gleitkommaarithmetik.
Code:
echo Da staunt der Laie: $((sqrt(sin(0.4))))
 
Meine ZSH Shell sagt:
Code:
 ~ % echo Da staunt der Laie: $((sqrt(sin(0.4))))
Da staunt der Laie: 0.62403392720961137
 
Offensichtlich haben wir ziemlich unterschiedliche Vorstellungen, was eine shell können soll/muss. In meinen Augen z.B. ist das Gleitkomma-feature ein unmissverständliches Anzeichen dafür, dass eine Shell schon beim Konzept schwer daneben liegt und dass die Entwickler gegen grundlegende Gesetzmäßigkeiten in Sachen Software Gesundheit verstoßen.

Du siehst das anders und damit habe ich überhaupt kein Problem. Menschen und ihre Sichten und Bedürfnisse sind halt unterschiedlich.
Das gilt auch, was die Einschätzung von Qualität und deren Bedeutung angeht. Was für den einen Mist von unbegabten Inkompetenten ist, ist für einen anderen supi-cool.

Was mich zu einem in meinen Augen wesentlichen Unterschied zwischen linux und FreeBSD bringt. FreeBSD legt ziemlichen Wert auf Solidität und Zuverlässigkeit, linux dagegen findet wohl eher "Vielfalt" attraktiv.
 
Zurück
Oben