Bash-scripting

Har du noe lurt å dele med oss? NB. Dette er ikke et support forum.

Re: Bash-scripting

Innleggav moma » søn 05.07.2009 12:10

Re-hei,
Et godt spørsmål.

1) $ ./skript1.sh
I denne metoden vil gjeldende shellet (skallet) undersøke den første linjen i skriptet. I de eksemplene gitt av Abbath ser den første linjen slik ut:
#!/bin/bash

"!#" kalles for shebang. Ref. http://en.wikipedia.org/wiki/Shebang_(Unix)
Shebang sier altså hvilken tolker/kompilator/eller program skal kjøre koden.

Her er noen eksempler på bruken av shebang for å kjøre skript.
#!/bin/bash
#!/usr/bin/php
#!/usr/bin/env python
#! /usr/bin/env runhaskell
#!/usr/bin/env ruby

Jeg mener at shebang skal alltid stå som første eksekverbar linje i koden.
Og kjøremekanismen antar at koden er shell/bashskript hvis shebang mangler.

Den env metoden er veldig smart fordi du behøver ikke vite hvor f.eks Python tolkeren ligger. Env tar seg av det.
#!/usr/bin/env xxx
-------------

Følgende shebang linja (bash -x) er veldig nyttig hvis du ønsker å debugge et shellskript.
#!/bin/bash -x
Den vil outputte info om variabler og andre ting mens skriptet kjører. Jeg benytter bash -x ... bl.a i Gscreendump for å kjøre bildebehandlingsplugins/skript i debug-modus.

Den tilsvarer kommandoen
$ bash -x skript1.sh
-------------

2) Den andre metoden er mye enklere.
$ bash skript.sh
Du starter et nytt shell (skall) med bash og navnet på skript sendes inn som argument. Her er det ingen tvivel om hvem og hva kjøres.
--------------
Kan jeg lage bash-script for å ta backup av F.eks /home?

Absolutt. Det finnes ikke noe bedre programmeringsspråk for den oppgaven enn bash/sh. Søk for ordene: backup skript i dette forumet eller Google for: shell script backup

Erfaren
Brukerens avatar
medlem i 234 måneder
 

Forrige

Returner til Tips og triks / Favoritter



Hvem er i Forumene

Registrerte brukere: Ingen registrerte brukere



cron