Permanenta alias?

Tråden skapades och har fått 9 svar. Det senaste inlägget skrevs .
1

Någon som kan svara på varför mina alias inte sätts permanent när jag skriver in dem i terminalen. Jobbar ganska mycket mot MySQL och då är det skönt att ha mysql och mysqladmin som alias t ex.

Kör jag följnade:
alias mysql=/usr/local/mysql/bin/mysql

Så fungerar det alias bara så länge jag har terminal fönstret öppet, stänger jag det så gäller det inte längre eller finns kvar kanske är bättre uttryckt.

Dock har jag löst detta "problem" genom att skriva in mina alias direkt i .profile. Är detta bra eller dåligt? Bör man göra på något annat sätt? Går det att sätta permanenta alias, med hjälp av alias kommandot? Jag kanske missar någon växel eller annat.

Har test att sätta olika alias som root också, men samma sak där, så fort jag stänger terminal fönstret så är alias:et borta.

  • Medlem
  • Sollentuna
  • 2004-10-02 14:52

Dina alias gäller bara för den inloggningen. Vill du ha dom varje gång som du loggar in ska du ska skriva in dom i din loginfil. Det gäller samma sak för environment-variabler etc. Allt som ska finnas där varje gång du loggar in måste du skriva in i loginfilen.
Så du har inte bara löst ditt problem - du har gjort det på rätt sätt!

  • Medlem
  • 2004-10-04 11:55

echo alias mysql=/usr/local/mysql/bin/mysql >> ~/.profile

Nu är jag inte haj på mysql, men har du testat att göra en symbolisk länk?

ln -s /usr/local/mysql/bin/mysql mysql

  • Oregistrerad
  • 2004-10-04 17:06

Den symboliska länken hamnar ju i katalogen du står i just då, och även när du befinner dig där måste du förmodligen skriva ./mysql istället för bara mysql (att ha . i PATHen är dumt).

Om man inte vill lägga till katalogen som mysql ligger i till PATH är väl ett alias bra.

Ja, det är sant...

Um... är det inte ganska mycket smidigare att bara lägga till hela katalogen i PATH-variabeln? Då får man ju genast tillgång till alla mysql-verktygen, och det utan att behöva köra med alias eller skapa symlänkar åt höger och vänster.

Om man kör bash, lägg till det här i ~/.profile:
export PATH="/usr/local/mysql/bin:${PATH}"

Motsvarande för tcsh (fast i ~/.login):
setenv PATH "/usr/local/mysql/bin:${PATH}"

Ska inställningarna gälla för samtliga användare gör man dem i stället i /etc/profile resp. /etc/csh.login.

  • Medlem
  • 2004-10-15 22:03

Liknande fråga

Har ett problem, hur skriver man in "aliasen" i .profile?

Om jag t.ex vill att det här ska sparas permanent
alias ip='ipconfig getifaddr en0'
i
.profile
hur gör jag då?

Skrev först

echo alias ip='ipconfig getifaddr en0' >> ~/.profile
men när jag skrev "ip" så kom bara beskrivningen av ipconfig...
usage: ipconfig <command> <args>
where <command> is one of waitall, getifaddr, ifcount, getoption, getpacket, set

istället för min ipadress

Uppdatering:
Efter mitt vilda mixtrande möts jag nu av detta så fort jag öppnar terminalen!
Last login: Sat Oct 16 03:08:05 on console
Welcome to Darwin!
-bash: alias: getifaddr: not found
-bash: alias: en0: not found
-bash: alias: getifaddr: not found
-bash: alias: en0: not found
alias ip='ipconfig'

Någon som vet hur jag fixar det?

Senast redigerat 2004-10-16 03:18
  • Medlem
  • 2004-10-16 03:54

Du skulle ha skrivit

echo alias ip=\'ipconfig getifaddr en0\' >> ~/.profile

Öppna .profile i din favoriteditor och ta bort de dubletter du verkar ha skapat och lägg till ' ' runt ipconfig getifaddr en0 på den rad du låter vara kvar. Dina ' ' försvann nämligen när du använde echo utan att escapa dem.

  • Medlem
  • 2004-10-16 18:51

Tackar, det löste alla problem!

1
Bevaka tråden