• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af dennism | 13.01.2008 17:32

Shell script?

Hjælp generelt
Jeg har lavet et shell script som hedder myBackup.sh. Hvordan kan jeg lave sådan, at det bliver kørt, når jeg i terminalen skriver "myBackup"?

Hvordan laver jeg iøvrigt sådan, at man i mit shell script kan tage argumenter fra kaldet? Sådan at jeg f.eks. kan fange "myBackup --media", hvor den så kun tager backup af media?
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer5

# 1

18 år siden

Permalink

Indsendt af flatus den 13. januar 2008 kl. 18:01

Permalink

Put scriptet i
/usr/bin/

Put scriptet i

/usr/bin/
  • Log ind eller opret dig for at tilføje kommentarer

# 2

18 år siden

Permalink

Indsendt af bjerrk den 13. januar 2008 kl. 18:14

Permalink

husk i øvrigt at gøre det

husk i øvrigt at gøre det executable:
chmod +x

og hvis du vil kunne kalde scriptet med "myBackup" skal du jo lige have omdøbt filen fra "myBackup.sh" til "myBackup"
  • Log ind eller opret dig for at tilføje kommentarer

# 3

18 år siden

Permalink

Indsendt af lobner den 13. januar 2008 kl. 18:32

Permalink

Argumenter til bash-script

Argumenterne enummereres som variablerne $1, $2, $3,... $n, så hvis du bare indsætter dem i scriptet, så kører det.

fx et script kaldet 'kopi' som altid kopiere til /var/log:

#!/bin/sh
cp $1 /var/log/$2

Det køres bare med:
kopi (filnavn) (nyt_navn)
hvorefter (filnavn) kopieres til /var/log/(nyt_navn)
  • Log ind eller opret dig for at tilføje kommentarer

# 4

18 år siden

Permalink

Indsendt af ysangkok den 13. januar 2008 kl. 20:50

Permalink

PATH og så videre

Prøv at udskrive din PATH variabel med kommandoen:

echo $PATH

Så kan du se de stier som bash vil lede i når du indtaster en kommando.
Værdier er adskilt af ":".

Der står ofte "~/bin" i listen et sted. Hvis dette er tilfældet kan du lave et katalog i din hjemmemappe der hedder bin. F.eks. /home/jakob/bin . Så kan du lægge scripts der (husk at køre "chmod +x" på dem).

Hvis ~/bin ikke er med i PATH men du gerne vil have at den skal være det, så kan du editere ~/.bashrc filen og tilføje denne linje:

export PATH=$PATH:~/bin
  • Log ind eller opret dig for at tilføje kommentarer

# 5

18 år siden

Permalink

Indsendt af sv-erik den 13. januar 2008 kl. 21:04

Permalink

Argumenter

Hvis du ønsker at forud deffinere dine mulighedder med hensyn til hvad scriptet skal kunne gøre og ikke gøre, hvilket forøvrigt slet ikke er nogen dårlig ide, selvfølgelig afhængit af hvad scriptet kan/skal, skal du måske kigge lidt på case et lille eksempel:


#!/bin/sh
case "$1" in
start)
#indsæt noget kode som starter noget
;;
stop)
#indsæt noget kode som stopper noget
;;
*)
#Fang alt andet og gør det her
echo "Dette argument er ikke tilladt"
;;
esac


Så gør scriptet præcis kun hvad du har brug for.
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

Openmediavault 0
GRUB 2.14 introducerer understøttelse af EROFS, forbedringer til Btrfs og LVM 0
KDE Plasma 6.6 tilføjer en funktion, som brugerne har spurgt efter i evigheder 0
Linux i København 12.01.2026: Open source i det offentlige 0
Dansk distro Omarchy 0

Seneste aktivitet

Driver til min scanner? 5
Printer Epson ET-2865 problem 16
Sudo 7
Thunderbird filvedligeholdelse 2
BigLinux 1
rsync og filsystem 4
Debian 13.3.0 8
E-mail blues 7
Linux Mint 22.3 - hvornår opdatere? 10
Canon-printer: Jeg savner "Ink-Toner Level"-meddelelse 10
billede af nuværende installation 2
mapper 4
LinuxIn live 9
Linux Debian på ekstern HD 4
usb disk *LØST* 2
Pacman kunne erstattes af en anden Rust baseret mulighed 1
Epson skanner software 8
Debian 1
Winboat 4
Nu kan man skrive private beskeder 14

© 2026 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !