Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.

Att migrera från tcsh till bash

Tråden skapades och har fått 26 svar. Det senaste inlägget skrevs .
1
  • Oregistrerad
  • 2003-10-22 22:53

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.

  • Medlem
  • London
  • 2003-10-23 10:22

Varför skulle man vilja byta? Har använt tcsh i sex år nu och har inte så stor lust att lära om.

  • Oregistrerad
  • 2003-10-23 10:37

Kanon!
Bytet till bash kommer att ställa till det för mig. Hade glömt att tcsh byts ut i Panther.
Bra info, tack!

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.

Senast redigerat 2003-10-23 11:24
  • Oregistrerad
  • 2003-10-23 11:05

'tcsh' finns kvar dock

  • Oregistrerad
  • 2003-10-23 12:53

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?

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.

Citat:

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

  • Oregistrerad
  • 2003-10-25 07:52

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

Tack Fredrik och ni andra för tipsen om bash, det är bra att få veta lite mer om skillnaderna!

  • Medlem
  • 2003-10-27 16:33

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...

Citat:

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.

Oki. Visste inte att du visste.
Men någon annan kanske har nytta av tipset.
För övrigt håller jag med dig.

  • Medlem
  • 2003-10-27 19:56
Citat:

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).

Citat:

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

  • Medlem
  • Tyresö
  • 2003-10-27 21:40

man ls

  • Medlem
  • 2003-10-27 22:00
Citat:

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

  • Medlem
  • Tyresö
  • 2003-10-27 23:48

-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...

  • Medlem
  • International user
  • 2003-10-28 19:23

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?

  • Medlem
  • 2003-10-28 19:59

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.

  • Avstängd
  • 2003-10-29 00:08

mmm gamla hederliga bash, saknade det lite faktiskt

Den här prompten kör jag med. Snygg och smidig.

export PS1="\[\033[1;30m\][\[\033[1;36m\]\u\[\033[1;35m\]@\[\033[1;36m\]\h:\[\033[1;34m\]\w\[\033[137m\]\[\033[30m\]]\[\033[0m\]> "

(Hoppas koden blev rätt nu)

Ciryon

  • Medlem
  • 2003-11-05 17:08

Vad är det x11 vill göra med port 6000? Efter att ha installerat x11 bad min brandvägg att denna skulle öppnas.

  • Medlem
  • London
  • 2003-11-06 02:19

Skulle kunna vara x-forwarding, dvs att du kan logga in på din dator från en annan dator och köra program och då få upp fönstret på den andra datorn... Mycket smidig funktion, eller vad säger du Ciryon?

1
Bevaka tråden