![]() |
alias-befehle speichern servus zusammen :roll: wie kann ich alias-befehle permanent speichern, so dass ich sie nicht nach jedem booten neu vergeben muss. zB: alias ´1´= startx nachdem ich den befehl vergeben habe, kann ich zwar mit dem befehl ´1´ in die gui wechseln, aber nach nem reboot ist der befehl nicht mehr vorhanden. |
als .sh in einem bin ordner ablegen? |
Am schnellsten gehts, wenn du den alias in die entsprechende .shellrc schreibst (das ist aber ein bissel unsauber), das geht so: erstmal mit less /etc/passwd | grep loginname rausfinden, welche Shell Du benutzt wobei loginname fuer deinen loginnamen steht. Dieses Kommando sollte genau eine Zeile ausspucken (diese sieht etwa so aus: loginname:x:500:100::/home/loginname:/bin/bash ), wobei ganz am ende die von Dir genutzte Shell steht (hoechstwahrscheinlich /bin/bash, das heisst, Du benutzt die bash) Dann oeffnest Du die Datei .bashrc (oder .chsrc oder .shrc oder jenachdem wie deine Shell heisst) in dienem Homeverzeichnis (/home/loginname) und fuegst den alias, genau wie Du ihn auch in der Shell tippen wuerdest, am Ende dieser Datei ein -> fertig (beim naechsten einloggen oder beim naechsten shellaufruf sollten die Aenderungen in Kraft treten.) Die saubere moeglichkeit (dafuer ein bissel aufwaendiger) ist diese: wieder erstmal herausfinden, welchen Shell Du benutzt Schreib dann genau diese alias-Zeile in eine datei namens .alias (die musst Du wahrscheinlich selbst erstellen) in Dein Homeverzeichnis und schau nach, ob in der .bashrc (oder entsprechend) die Zeile test -s ~/.alias && . ~/.alias steht, wenn nicht (bei SuSe steht sie schon drin), selbst reinschreiben -> fertig (funktioniert wieder erst nach neustart der shell) wenn Du die bash benutzt, sollte das alles so tun, wenn du die tcsh oder die csh benutzt, kann es sein, das die befehle noch etwas abgeaendert werden muessen. Beide Moeglichkeiten funktionieren uebrigens nicht, wenn du vor einer loginshell sitzt (wird mit der option --login aufgerufen) in die alias datei kannst Du dann noch weitere aliases eintragen, jeweils einen pro zeile. ein alias, den ich immer benutze, ist dieser: alias rm = 'rm -i' Der verhindert, das Du aus Versehen was loeschst, rm fragt ueblicherweise nicht nach, bevor es was loescht - ich hab mir so schonmal mien ganzes Homeverzeichnis gekillt :(, rm -i fragt jedoch vorm loeschen nach. Wenns so net klabben sollte, oder Du durch diese wirre erklaerung net durchgesehen hast, meld doch nochmal. Gruesse, kerri |
[quote=telepornos]als .sh in einem bin ordner ablegen?[/quote]Einen Link anlegen reicht auch. |
[quote=sys3][quote=telepornos]als .sh in einem bin ordner ablegen?[/quote]Einen Link anlegen reicht auch.[/quote] Huch!?! Geht offenbar auch einfacher, als ichs beschrieben hab.... wiewerwowannwaswelchen bin-Ordner meint Ihr denn? Den /bin ? Da hat doch ein normalsterblicher User gar keine Schreibrechte drauf?!? Ausserdem, linken worauf? *verwirrtsei* Oder hab ich einfach bloss Da_Sash's Frage nicht richtig verstanden? Gruesse, kerri |
mit nem bin ordner mein ich irgendeinen bin oder sbin ordner, der dir nen start erlaubt, und wenn du keinen findest, kannste ja immernoch kerri's variante für komplizierte menschen anwenden. (das ist der grund der mich von linux manchmal abschreckt: für alles muss es ne komplizierte vraiante geben) |
[quote=telepornos]mit nem bin ordner mein ich irgendeinen bin oder sbin ordner, der dir nen start erlaubt, und wenn du keinen findest, kannste ja immernoch kerri's variante für komplizierte menschen anwenden. (das ist der grund der mich von linux manchmal abschreckt: für alles muss es ne komplizierte vraiante geben)[/quote] Was soll das denn bitte bringen????????? Woher weiss bitte die Shell, das sie diese seltsame Konfigurationsdatei .sh gibt (die miener Meinung nach am voellig falschen Platz zwischen all den binaries ist - Konfiguration gehoert nach /etc) Bashstartup (nach man bash) geht folgendermassen: 1)Wenn ne bash gestartet wird, liest die zunaechst mal die /etc/profile, da steht drin: -Shellvariablenzuweisungen und so -das auch dateien wie /etc/profile.d/*.sh gelesen werden sollen (da stehen paketspezifische sachen fuer die shell drin, je nach dem was du installiert hast) -das noch /etc/profile.local (fals vorhanden) gelesen wird -bei SuSE auch noch die /etc/SuSEconfig/profile bzw die /etc/SuSEconfig/profile.local fuer SuSesepzifische Sachen. -dann wird die /etc/bash/.bashrc gelesen (hier stehen schon einigevordefinierte aliasses drin) , wenn vorhanden auch die /etc/bash/.bashrc.local -dann wird noch die $HOME/.bashrc gelesen 2)Eine Loginshell liest dann noch (unabhaengig von /etc/profile) $HOME/.bash_profile, $HOME/.bash_login und $HOME/.profile (je nach dem, ob vorhanden) 3)Eine interaktive liest noch (auch unabhaengig von /etc/profile) $HOME/.bashrc Da wird nix mit /bin/.sh oder /sbin/.sh oder so gemacht!!! Woher soll Die Shell also wissen, das es noch ne zusaetzliche Konfigurationsdatei gibt? Auserdem: das ist nicht kompliziert: schreib den Alias einfach in die ~/.alias und schau', ob in der ~/.bashrc diese Zeile steht: "test -s ~/.alias && . ~/.alias" -> fertig Oder: schreib den alias einfach in die .bashrc (unsauber) Der ganze Rest diente nur dazu, welche Shell Da_Sash benutzt (das obige gilt naemlich nur fuer die bash) Gruesse, kerri |
[quote=kerri][quote=sys3][quote=telepornos]als .sh in einem bin ordner ablegen?[/quote]Einen Link anlegen reicht auch.[/quote] Huch!?! Geht offenbar auch einfacher, als ichs beschrieben hab.... wiewerwowannwaswelchen bin-Ordner meint Ihr denn? Den /bin ? Da hat doch ein normalsterblicher User gar keine Schreibrechte drauf?!? Ausserdem, linken worauf? *verwirrtsei* Oder hab ich einfach bloss Da_Sash's Frage nicht richtig verstanden? Gruesse, kerri[/quote] OK, einen Account mit Schreibrechten muss man dazu schon haben. Wenn man die hat, dann reicht jedes beliebige bin-Verzeichnis im Suchpfad, aber am sinnvollsten wäre ja wohl das Verzeichnis, in dem startx steht, was dann auch das Ziel des Links sein müsste. |
[quote=sys3][quote=kerri][quote=sys3][quote=telepornos]als .sh in einem bin ordner ablegen?[/quote]Einen Link anlegen reicht auch.[/quote] Huch!?! Geht offenbar auch einfacher, als ichs beschrieben hab.... wiewerwowannwaswelchen bin-Ordner meint Ihr denn? Den /bin ? Da hat doch ein normalsterblicher User gar keine Schreibrechte drauf?!? Ausserdem, linken worauf? *verwirrtsei* Oder hab ich einfach bloss Da_Sash's Frage nicht richtig verstanden? Gruesse, kerri[/quote] OK, einen Account mit Schreibrechten muss man dazu schon haben. Wenn man die hat, dann reicht jedes beliebige bin-Verzeichnis im Suchpfad, aber am sinnvollsten wäre ja wohl das Verzeichnis, in dem startx steht, was dann auch das Ziel des Links sein müsste.[/quote] wenn ich Dich richtig verstehe, willst Du sowas machen: ln -s /usr/X11R6/bin/startx 1 oder? Das loest zwar auch Da_Sasch's Problem (zumindest Groesstenteils), aber ist kein alias.... Funktioniert das mit der .sh im /bin nun oder nicht?? Wenn ja, warum?? Gruesse, kerri PS.: Was iat, wenn man die Schreiberechte nicht hat? Rootpassword hacken? :wink: |
auf deine variante zurückgreifen? |
Ich glaub immer noch nicht, das das mit der .sh funzt...... Gruesse, kerri |
[quote=kerri]wenn ich Dich richtig verstehe, willst Du sowas machen: ln -s /usr/X11R6/bin/startx 1 oder? Das loest zwar auch Da_Sasch's Problem (zumindest Groesstenteils), aber ist kein alias.... [/quote] Genau so war's gemeint. |
habe es durch kerris möglichkeit geschafft, funzt 1a ;) thx, kerri :wink: |
AW: alias-befehle speichern riesen *Schaufel* :) ... und wie sag ich jetzt das ich meinen alias in der .bash speichern möchte? also ich hab's mal so versucht: alias +='ls -al --color=auto' >> .bashrc warum funktioniert das aber nicht? :rolleyes: Grüße Don |
AW: alias-befehle speichern ok hab selber rausgefunden das diese Variante wohl so nicht funktionieren wird. Muss man also per Texteditor manuell eintragen. |
AW: alias-befehle speichern [QUOTE=DonSchado][...] also ich hab's mal so versucht: alias +='ls -al --color=auto' >> .bashrc warum funktioniert das aber nicht? :rolleyes: [/QUOTE] Das tut nicht, weil Du die [b]Ausgabe[/b] des Befehls "alias +='ls -al --color=auto'" nach .bashrc umleitest. Wenn Du den [b]Text[/b] "alias +='ls -al --color=auto'" in die .bashrc haben willst, musst noch ein echo davor schreiben: [code]echo "alias l='ls -al --color=auto'" >> ~/.bashrc[/code] Echo wiederholt einfach den Text in "Entenfuesschen", und das leitest aber in die .bashrc um - voila ;) Gruesse, kerri PS.: Sry fuer spaete Antwort, hab den Thread irgendwie ein paar Tage lang uebersehen :/ |
AW: alias-befehle speichern danke das du trotzdem noch geantwortet hast! ;) |
| Alle Zeitangaben in WEZ +1. Es ist jetzt 11:44 Uhr. |
Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.