• 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

17 år 8 måneder 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

17 år 8 måneder 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

17 år 8 måneder 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

17 år 8 måneder 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

17 år 8 måneder 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

Opfindelser skabt af OpenBSD-projektet 0
KDEs virtuelle maskinhåndtering skrider fremad 0
Sådan konfigurerer du flatpaks' flathub til verified only 0
Den er go 0
14. februar = I Love Free Software Day 0

Seneste aktivitet

Skal vi være nervøse? 19
Pepsi Challenge 17
LibreOffice Skolen 2
Tid til forandring 7
AI kommer til Linux kernen 3
RapidRAW 3
Så er google igen blivet fanget i at snuse 1
Debian Trixie til boomerne 17
Overvåg dit webstedets oppetid og ydeevne fra din terminal 1
Darktable 6
XIVA Studio 1
Kubuntu Focus Zr GEN 1: Linux første højtydende mobil arbejdsstation 2
VpN men hvilken 25
Linux i fremgang 25
wifi ikke virker 7
Mest sikker webbrowser 10
32 år med Slackware 7
Ubuntu touch 7
PCLinuxOS (nyt om dansk sprog) 42
Virtuel maskine? 9

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !