Hej!
Är helt nybörjare på Linux och har kommit över en bok som heter "SAMS Teach Yourself Unix in 24 hours". Det går bra och är riktigt kul men har stött på ett problem som jag behöver hjälp med.
Jag sitter och tittar på det här med rättigheter och har kommit till ett avsnitt där det står följande:
"Execute permission is slightly different from either read or write permissions. Any file with execute permissions can be treated like a program. You enter the name of the file on the command line, and if the directory is in your PATH, the file is executed."
nedan följer exempel som jag inte får att fungera.
%pwd
/home/taylor
% echo $PATH
/home/taylor/bin:/bin:/usr/bin;/usr/ucb:/usr/local:/usr/local/bin:
%ls -l bin/say.hi
(rättigheter för filen kommer upp)
%say.hi
hi
Jag står in min hemkatalog och skriver "say.hi" men får "command not found". När jag kollar min PATH verkar jag sakna min hemkatalog (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games), I boken får han fram "/home/taylor/bin". Behöver jag lägga till den? kan jag göra det med följande kommand? $ export PATH=$PATH:/bin:/usr/local/bin
Jag behöver hjälp då nästa övning handlar om att ändra rättigheter på bin/say.hi så jag inte kan köra den och sedan ändra tillbaka rättigheter så det går igen.
Eller har ni förslag på andra sätt jag kan prova det tar jag tacksamt emot det.
Hoppas ni har överseende med min nybörjar nivå.
Tack på förhand
Lägga till sökvägar i PATH
Kategoriregler
Läs följande innan du postar: http://ubuntu-se.org/phpBB3/viewtopic.php?f=208&t=44692
Du får hjälp att komma igång med Ubuntu genom att välja en personlig fadder här: http://ubuntu-se.org/phpBB3/viewtopic.php?f=110&t=8767
Läs följande innan du postar: http://ubuntu-se.org/phpBB3/viewtopic.php?f=208&t=44692
Du får hjälp att komma igång med Ubuntu genom att välja en personlig fadder här: http://ubuntu-se.org/phpBB3/viewtopic.php?f=110&t=8767
- uppsalanet
- Fadder
- Inlägg: 257
- Blev medlem: 29 sep 2008, 22:05
- OS: Ubuntu
- Utgåva: 24.04 Noble Numbat LTS
- Ort: Uppsala
Re: Lägga till sökvägar i PATH
Hej,
i din hemkatalog finns filen .profile
Där finner man:
Vilket säger att om det finns en "bin" katalog i din hemkatalog så ska den adderas till först i variabeln $PATH.
Efter att ha skapat ~/bin (motsvarande $HOME/bin) måste du logga ut och in igen för att den ska adderas till variabeln $PATH.
är kommandot för att göra filen exikverbar.
Annars tycker jag att (4 2 1) är enklare att komma ihåg, men det är en smaksak, kika gärna på denna länk:
http://sv.wikipedia.org/wiki/Chmod
Alternativet till att inte ha den i $PATH är att ange "absolute path" till filen när den ska exikveras ex:
Som exikverar filen filname i den katalogen som du står i.
Om filen inte är exikverkar kan du ange:
Hälsningar
Fredrik
i din hemkatalog finns filen .profile
Kod: Markera allt
cat .profile
Kod: Markera allt
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Efter att ha skapat ~/bin (motsvarande $HOME/bin) måste du logga ut och in igen för att den ska adderas till variabeln $PATH.
Kod: Markera allt
chmod +x filename
Annars tycker jag att (4 2 1) är enklare att komma ihåg, men det är en smaksak, kika gärna på denna länk:
http://sv.wikipedia.org/wiki/Chmod
Alternativet till att inte ha den i $PATH är att ange "absolute path" till filen när den ska exikveras ex:
Kod: Markera allt
./filename
Om filen inte är exikverkar kan du ange:
Kod: Markera allt
sh ./filename
Fredrik
Re: Lägga till sökvägar i PATH
Hej Fredrik,
Tack för svar!
Jag provade att skapa en bin katalog i min hemkatalog då det inte fanns någon när jag körde ls -a. Jag skrev in koden i terminal fönstret "if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi"
och loggade ut.
Om jag nu skriver $PATH har min hemkatalog kommit med i PATH men har ett felmeddelande på slutet "bash: /home/per/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games: No such file or directory". Vad är det för fil eller mapp den försöker hitta? Skriver jag echo $PATH ser allt bra ut, min hemkatalog ligger med och inget flemeddelande på slutet.
När jag först skriver say.hi får jag tillbaka permission denied men sedan så andvänder jag chmod med +x och då fungerar det, får dock bara en ny rad där den ställer sig i min hemkatalog igen. Poletten med hur man sätter rättigheter har trillat ner tror jag, stort tack!.
behöver jag göra något åt min $PATH när jag enbart skriver $PATH så jag får bort "No such file or directory"? Det ser rätt ut när jag skriver echo $PATH
Har du något annat tips på en fil jag kan skapa som retunerar något i terminal fönstret så jag kan prova att lägga till rättigheter och sedan plocka bort dem igen så jag ser att det verkligen fungerar. Jag lyckades inte med det här say.hi exemplet som finns i boken då den bara hoppar till en ny rad.
Tack igen
Tack för svar!
Jag provade att skapa en bin katalog i min hemkatalog då det inte fanns någon när jag körde ls -a. Jag skrev in koden i terminal fönstret "if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi"
och loggade ut.
Om jag nu skriver $PATH har min hemkatalog kommit med i PATH men har ett felmeddelande på slutet "bash: /home/per/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games: No such file or directory". Vad är det för fil eller mapp den försöker hitta? Skriver jag echo $PATH ser allt bra ut, min hemkatalog ligger med och inget flemeddelande på slutet.
När jag först skriver say.hi får jag tillbaka permission denied men sedan så andvänder jag chmod med +x och då fungerar det, får dock bara en ny rad där den ställer sig i min hemkatalog igen. Poletten med hur man sätter rättigheter har trillat ner tror jag, stort tack!.
behöver jag göra något åt min $PATH när jag enbart skriver $PATH så jag får bort "No such file or directory"? Det ser rätt ut när jag skriver echo $PATH
Har du något annat tips på en fil jag kan skapa som retunerar något i terminal fönstret så jag kan prova att lägga till rättigheter och sedan plocka bort dem igen så jag ser att det verkligen fungerar. Jag lyckades inte med det här say.hi exemplet som finns i boken då den bara hoppar till en ny rad.
Tack igen
Re: Lägga till sökvägar i PATH
Det enda du behöver göra är att skapa en mapp /home/taylor/bin. Just för den mappen (bin) så finns det redan en inbyggd mekanism som gör att den mappen läggs till som genväg i miljövariablen PATH om den mappen existerar. Sen kan du under mappen /home/taylor/bin lägga dina program (binärer) och sen köra dessa som kommandon utan att behöva ange genväg om de är körbara (flaggan x satt).
Att du får en felutskrift när du skriver enbart $PATH i terminalen beror på att $PATH då tolkas som ett kommando vilket det ju inte är. Så felutskriften i det fallet är helt riktig.
EDIT
Här ett enkelt exempel som du efterlyste..
1) Skapa en fil i din bin-mapp och döp den till hi
2) Lägg sen in de här raderna i den filen och gör filen körbar.
3) Kör kommandot hi
Att du får en felutskrift när du skriver enbart $PATH i terminalen beror på att $PATH då tolkas som ett kommando vilket det ju inte är. Så felutskriften i det fallet är helt riktig.
EDIT
Här ett enkelt exempel som du efterlyste..
1) Skapa en fil i din bin-mapp och döp den till hi
2) Lägg sen in de här raderna i den filen och gör filen körbar.
Kod: Markera allt
#/bin/bash
echo "Hi there!"
Re: Lägga till sökvägar i PATH
Kan bara säga stort tack för hjälpen. Ditt exempel fungerar klockrent och jag har provat att ändra rättigheter med chmod och även fått svar på min fråga om $PATH
Tack även till uppsalanet.
Det är så roligt med Linux
Tack även till uppsalanet.
Det är så roligt med Linux
