[BASH/ShellScript] Hoe argumenten met = teken parsen

Pagina: 1
Acties:

  • arnova
  • Registratie: Augustus 2001
  • Laatst online: 21:10

arnova

weet veel, maar niet alles

Topicstarter
Ik ben een shellscript aan het schrijven wat ik argumenten wil voeren in de zin van "--name=hda1". Ik wil dus matchen op "--name" en vervolgens onthouden dat de waarde "hda1" daarbij hoort. Ik heb al gekeken hoe je dit evt. met getopt of getopts kan doen maar die zijn er niet echt geschikt voor. Weet iemand hoe ik dit op een nette manier kan doen?

Ctrl4Dkn: ESP32 (Floor) Heat Controller With Daikin (Heatpump) Support - https://github.com/arnova/ctrl4dkn


  • Wilke
  • Registratie: December 2000
  • Laatst online: 20:29
Wat voor shell? Bash?

code:
1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
arglist="--optie1=xxx --optie2=yyy --name=hda1"
for arg in $arglist; do
  key=`echo $arg | cut -d= -f1`
  value=`echo $arg | cut -d= -f2`

  if [ "--name" == "$key" ]
    naam=$value
  fi
  # etc.
done


Uit m'n hoofd dus ik weet niet of dit compileert (en het kan misschien ook veel makkelijker, weet niet eigenlijk)

  • arnova
  • Registratie: Augustus 2001
  • Laatst online: 21:10

arnova

weet veel, maar niet alles

Topicstarter
Dat bedoelde ik precies! Dat ik daar zelf niet opgekomen ben, zo simpel....

Tnx!

Ctrl4Dkn: ESP32 (Floor) Heat Controller With Daikin (Heatpump) Support - https://github.com/arnova/ctrl4dkn


  • zomertje
  • Registratie: Januari 2000
  • Laatst online: 03-02 16:28

zomertje

Barisax knorretje

Ik doe altijd kwootjes ('=') om de meegegeven -d parameter, eerlijk gezegd weet ik niet of dit hier ook nodig is :)

het ultieme jaargetijde.... | #!/usr/bin/girl | Art prints and fun