Sida 1 av 1

[löst]Göra exekverbar

Postat: 10 maj 2009, 15:50
av hub
Hej!
Jag har ett script som jag kör med "sh tor".
Hur gör jag för jag ska bara kunna köra "tor" för att skriptet ska köras?

Har provat medd chmod a+x tor, men det går inte att köra med "tor"...

Re: Göra exekverbar

Postat: 10 maj 2009, 15:55
av andol
I vilket språk är ditt skript skrivet? Hur ser översta raden ut?

Re: Göra exekverbar

Postat: 10 maj 2009, 16:00
av dmz

Kod: Markera allt

mkdir ~/bin; mv tor ~/bin; rehash

Re: Göra exekverbar

Postat: 10 maj 2009, 16:57
av hub
dmz skrev:

Kod: Markera allt

mkdir ~/bin; mv tor ~/bin; rehash

Kod: Markera allt

hub@ubuntu-server:~$ rehash
-bash: rehash: command not found
Fungerar alltså inte... :(
andol skrev:I vilket språk är ditt skript skrivet? Hur ser översta raden ut?

Kod: Markera allt

#!/bin/bash

Re: Göra exekverbar

Postat: 10 maj 2009, 17:10
av Hund
Lägg till något liknande i ~/.bash_aliases:
alias tor='sh /home/johan/Scripts/tor'
Fast rubriken säger annat, att du vill göra filen körbar, då blir det:
chmod +x tor

Re: Göra exekverbar

Postat: 10 maj 2009, 17:19
av Konservburk
hub skrev:

Kod: Markera allt

hub@ubuntu-server:~$ rehash
-bash: rehash: command not found
Fungerar alltså inte... :(
Det beror på att dmz lider av en arbetskada som kallas zsh. ;)

Han menade egentligen hash -r som fungerar både med bash och zsh.

Re: Göra exekverbar

Postat: 10 maj 2009, 17:20
av andol
För att starta en skript som befinner sig i den mapp så får du explicit ange det med ./ innan, enligt följande:

Kod: Markera allt

./skriptnamn
För att kunna köra skriptet lite varsom ifrån så är det DMZs lösning du vill gå på, med modifikation att du antagligen behöver logga ut och sen logga in igen för att det ska fungera. Kommandot rehash verkar vara zsh specifikt.

Anledningar till att det torde fungera att skapa en ~/bin och placera skriptet är dessa rader i din default ~/.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
Notera dock att .profile (till skillnad från till exempelvis .bashrc) endast läses vid inloggning.

Re: Göra exekverbar

Postat: 10 maj 2009, 18:18
av hub
Oki, tack för svaren.

Re: Göra exekverbar

Postat: 10 maj 2009, 20:18
av dmz
Konservburk skrev: Det beror på att dmz lider av en arbetskada som kallas zsh. ;)
Hoppsan. :)