Alias konfigurieren

piotr

Well-Known Member
Hallo

Wie kann ich ein alias für einen normalen non-root Benutzer konfigurieren, um als Befehl von dem Terminal zu verwenden?
 

Yamagi

Possessed With Psi Powers
Teammitglied
Das kommt auf die Shell an. In der csh-Familie (csh und tcsh) geht es am Prompt per
Code:
alias ersetzung kommando
Um also zum Beispiel "X" als Alias für "startx -- -retro" zu setzen, tippst du
Code:
alias X "startx -- -retro"
ein. Um das Alias dauerhaft zu setzen, schreibst du es genau so in die ~/.cshrc oder ~/.tcshrc.
In der Bourne-Familie (sh, bash, ksh, etc) ist der Syntax hingegen
Code:
alias ersetzung="kommando"
. Im obrigen Beispiel also
Code:
alias X="startx -- -retro"
. Um das Alias dauerhaft zu setzen, wird das Kommando in die ~/.profile geschrieben.
 

piotr

Well-Known Member
Danke, aber funktioniert nicht,
z.B ich habe in ~/.cshrc folgendes eingetragen:
Code:
alias free="/usr/local/bin/freecolor"
und wenn ich jetzt 'free' command probiere, dann bekomme ich:
Code:
$ free
free: not found

$ freecolor
Physical  : [#############################......] 84%   (1763036/2079136)
Swap      : [###################################] 100%  (2048000/2048000)
 

dings

New Member
Hast Du Deine ~/.cshrc denn 'gesourced' nachdem Du sie ändertest ?
Code:
source .cshrc
(vorausgesetzt Du befindest Dich im selben Verzeichnis, wie die .cshrc)
 

Yamagi

Possessed With Psi Powers
Teammitglied
Nein, für eine C-Shell:
Code:
alias free /usr/local/bin/freecolor
Du hattest den Syntax für Bourne-Shells :)
 

piotr

Well-Known Member
Hast Du Deine ~/.cshrc denn 'gesourced' nachdem Du sie ändertest ?
Code:
source .cshrc
(vorausgesetzt Du befindest Dich im selben Verzeichnis, wie die .cshrc)

Ich habein angepasst in ~/.cshrc:
Code:
alias free /usr/local/bin/freecolor
und es geht immer noch nicht:
Code:
$ free
free: not found
$ source .cshrc
source: not found
 

[KB]

Well-Known Member
> source: not found

Du bist nicht in einer c-Shell unterwegs.
source ist ein builtin command und wird in einer c-Shell generell erkannt.
Somit solltest Du erst einmal herausfinden in welcher Shell Du arbeitest.
Nur dann können wir dir hier weiterhelfen.

Viele Grüße,
[KB]

EDIT:

versuche doch mal folgendes:

starte eine tcsh
$ tcsh

und dann dein alias
$ free

besser?
 

piotr

Well-Known Member
> source: not found

Du bist nicht in einer c-Shell unterwegs.
source ist ein builtin command und wird in einer c-Shell generell erkannt.
Somit solltest Du erst einmal herausfinden in welcher Shell Du arbeitest.
Nur dann können wir dir hier weiterhelfen.

Viele Grüße,
[KB]

EDIT:

versuche doch mal folgendes:

starte eine tcsh
$ tcsh

und dann dein alias
$ free

besser?

Danke, das funktioniert jetzt, aber wie findet man sonst heraus in welcher Shell man sich gerade befindet?
 

Yamagi

Possessed With Psi Powers
Teammitglied
Es kommt auf die Shell drauf an. :) Aber meist sollte ein "echo $SHELL" es sagen.
 
Oben