- Gäst
- Oregistrerad ●
Hej!
Det kanske är fler än jag som i och med bytet till Panther även byter shell från tcsh till bash? Tänkte man kunde ta upp några praktiska saker som skiljer de olika skalen åt.
Under tiden med tcsh hade jag i min ~/.tcshrc-fil speciella inställningar för att ställa in min prompt, mina alias och saker som har att göra med hur tcsh hanterar auto completion.
Vill man göra liknande ändringar i bash är det filerna ~/.bash_login samt ~/.inputrc man ska söka sig till.
Alias görs i tcsh på följande vis:
alias ll "ls -al"
där ll är det alias man vill länka till i det här fallet kommandot "ls -al".
I bash görs ändringen i ~/.bash_login på följande vis:
alias ll="ls -al"
Prompten ändras i tcsh t.ex. såhär:
set prompt = "[%n@%m: %~]> "
I bash skapas samma prompt i ~/.bash_login såhär:
PS1="[\u@\h: \w]> "
Vad det gäller auto completion gillar jag att ha den case insensitive samt att den ska lista alla tänkbara alternativ som finns direkt. I tcsh gjordes det på följande sätt:
set complete = enhance
set autolist
I bash ändras detta i filen ~/.inputrc:
set show-all-if-ambiguous on
set completion-ignore-case on
Där har jag även lagt in
set completion-query-items 200
som gör att max 200 auto completion-alternativ visas först.
På det stora hela börjar jag bli nöjd med min bashterminal, och det är bara en sak jag forfarande inte grejat.. det är den möjligheten i tcsh att ställa in
set autocorrect
set correct = cmd
som rättar till eventuella småfel man kan tänkas skriva in.
Någon som vet om detta kan fixas lika elegant i bash? Har letat i bashmanualen utan större framgång.
tcsh finns ju fortfarande kvar, så den som inte vill byta måste ju inte.
Ändrar man vilket skal man ska köra i NetInfo så hänger det med om man loggar in exempelvis via ssh. Gör man ändringen i terminalens inställningar gäller det bara i terminalen.
Här kommer ett litet tips...
Jag har lagt till följande i min .bash_login:
# Turn on more auto-completion bash=${BASH_VERSION%.*}; bmajor=${bash%.*}; bminor=${bash#*.} if [ "$PS1" ] && [ $bmajor -eq 2 ] && [ $bminor '>' 04 ] \ && [ -f /fink/etc/bash_completion ]; then # Source completion code . /fink/etc/bash_completion fi unset bash bmajor bminor
Detta utökar funktionen auto completion till att även fungera i diverse program. Vet inte precis vilka men använder det ofta i ssh för att slippa skriva in långa adresser man använt tidigare.
Använder man bash som följer med Panther måste sökvägarna ändras, dock vet jag inte till vad eftersom jag fortfarande sitter med Jaguar. Leta efter filen bash_completion. En gissning skulle vara /usr/etc/bash_completion.
Skrevs ursprungligen av Fredrik Lange
Hej alla!
Jag vet att tcsh finns kvar även i Panther, men eftersom så många andra använder bash tänkte jag det vore värt att kolla upp.. är inte rädd att lära mig lite nya saker
Bash-tips någon?
Javistt! Kolla här:
Bash tips
Du kan oxå skapa en fil som heter .profile och spara den i din hem katalog. Används av Bash när du loggar in.
I alla fall vad jag inte gillar med bash är att om jag ändrar min prompt till att likna tcsh prompten genom att lägga till "PS1='[\h:\w] \u> '" i .profile filen så har den problem med att visa långa path names. Prompten hoppar upp och man vet inte vad man skriver mer. Är det någon som har en lösning på problemet?
//Rob
Hur (om man nu kan) ställer man om färgerna till "ls". Tex så har mappar mörkblå färg, mend et vill jag ändra till tex vit. I vilken fil ändrar man det?
Hur får man å ä och ö att fungera i bash? Jag har testat tex
"Western (ISO Latin)"
"Unicode (UTF-8)"
osv.. (och startat om terminal.app)
Men ingen av dem verkar funka.
på tal om osx shells, det var fanimej på tiden att ls fick färg...
Skrevs ursprungligen av johan dansk
på tal om osx shells, det var fanimej på tiden att ls fick färg...
Fixar du lätt genom att installera fileutils (finns i fink) och lägga till ett alias i din .bashrc/.bash_profile/.tcshrc/.zshrc (val efter skal):
alias ls='ls --color=always'
utan likhetstecken för tcsh och csh
jo tack. det vet jag, jag tänkte på defaulten liksom.
Skrevs ursprungligen av ohennig
Fixar du lätt genom att installera fileutils (finns i fink) och lägga till ett alias i din .bashrc/.bash_profile/.tcshrc/.zshrc (val efter skal):
alias ls='ls --color=always'
Kan man med hjälp av fileutils ändra färger på tex mappar när man kör ls?
För när jag kör "ls -G" så blir alla mappar mörkblå, vilket inte är så kul mot svart bakgrund (som jag kör).
Skrevs ursprungligen av samul
Kan man med hjälp av fileutils ändra färger på tex mappar när man kör ls?
För när jag kör "ls -G" så blir alla mappar mörkblå, vilket inte är så kul mot svart bakgrund (som jag kör).
vet ärlig talat inte om bashen i osx stödjar detta, men du kan i stort set sätta vilka färger du vill för vilka filer och kataloger
sök lite på google, det närmsta jag kom genom en (väldig) snabb sökning var:
http://lists.terrasoftsolutions.com/yellowdog-general/september99/0578.html
och för lite intressant .bashrc förslag: http://www.dotfiles.com/index.php3?app_id=3
Skrevs ursprungligen av johan dansk
vet ärlig talat inte om bashen i osx stödjar detta, men du kan i stort set sätta vilka färger du vill för vilka filer och kataloger
sök lite på google, det närmsta jag kom genom en (väldig) snabb sökning var:
http://lists.terrasoftsolutions.com/yellowdog-general/september99/0578.html
och för lite intressant .bashrc förslag: http://www.dotfiles.com/index.php3?app_id=3
Tackar. Jo jag ha sökt på google innan jag är här och gäller . Varför jag frågar är för att jag inte får det att funka, trots det jag läst =/
Och ja, jag har tittat igenom man-sidan men jag är INTE särsklit bra på att tolka dem. Såg att mappar som default var blåa, men inte var (i vilken fil) jag ska kunna ändra "exfxcxdxbxegedabagacad" till "hxfxcxdxbxegedabagacad" tex.
som en enviroment variabel.
dvs typ set LSCOLORS = "abcde...zyx"
passande kan du lägga in det i din .bashrc när det väl funkar. Du applicerar ändringarna med source .bashrc
-G Enable colorized output. This option is equivalent to defining CLICOLOR in the environment. (See below.)
.
.
CLICOLOR Use ANSI color sequences to distinguish file types. See LSCOLORS below.
Hmm, provade sätta LSCOLOR efter den EXTREMT konsiga beskrivningen och jag fick det inte att funka. Man kanske skall hålla tjäft och inte prata om sånt man inte testat. Dock verkade det så himla enkelt...
Ni som har koll på terminalen. Varför får jag inte Emacs att fungera sedan jag installerade OSX 10.3 ?
Det fungerade finfint under 10.2. Men nu får jag detta felmeddelande när jag försöker starta emacs i terminalen.
Fatal error (6)./usr/bin/emacs: line 2: 581 Abort trap /usr/libexec/emacs/21.3.50/powerpc-apple-darwin6.2/Emacs.app/Contents/MacOS/Emacs $@
Någon som har någon ide?
Johan dansk: Tack för tipset, Kemppe hade redan hjälpt mig genom att slänga ihop en .bash_login som funkade så jag glömde bort att skriva att problemet var löst
Och om någon vill så tänkt jag att jag kunde slänga upp hur det ser ut, det är bara att kopiera denna kod och skapa en fil som heter .bash_login i hemkatalogen (om det inte finns en redan förstås)
DS="\[\e[0;30m\]" # Dark Black DR="\[\e[0;31m\]" # Dark Red DG="\[\e[0;32m\]" # Dark Green DY="\[\e[0;33m\]" # Dark Yellow DB="\[\e[0;34m\]" # Dark Blue DM="\[\e[0;35m\]" # Dark Magenta DC="\[\e[0;36m\]" # Dark Cyan DW="\[\e[0;37m\]" # Dark White LS="\[\e[1;30m\]" # Light Black LR="\[\e[1;31m\]" # Light Red LG="\[\e[1;32m\]" # Light Green LY="\[\e[1;33m\]" # Light Yellow LB="\[\e[1;34m\]" # Light Blue LM="\[\e[1;35m\]" # Light Magenta LC="\[\e[1;36m\]" # Light Cyan LW="\[\e[1;37m\]" # Light White N="\[\e[0m\]" # Normal name="Namn" # Namnet man vill att prompten ska visa PS1="$LR[$DG\u$DC@$DY$name$DC,$LY$TTY $LW\w$N$LR]$DC\$$N " # Prompt done... PAGER='less -C' export PS1 PAGER alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' TERM=xterm-color export CLICOLOR=YES export LSCOLORS=Hxfxcxdxbxegedabagacad
name="Namn" där byter man ut mot det namn man vill ha. jag valde ryssland och då står det:
[samul@Ryssland, ~]$
När jag öppnar ett nytt terminalfönster.
Raden:LSCOLORS=Hxfxcxdxbxegedabagacad
Gör att mapparnas namn visas i vit text.
Originalraden är denna:
LSCOLORS=exfxcxdxbxegedabagacad
Den visar mapparnas namn i blått.