Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: script met invoergegevens  (gelezen 2776 keer)

Offline jfh

  • Lid
script met invoergegevens
« Gepost op: 2022/11/08, 12:12:19 »
mijn script moet een programma openen waarin wordt gevraagd om een gebruikersnaam in te voeren en vervolgens het bijbehorende wachtwoord.
Het script is als volgt:

#!/bin/bash
clear
openvpn /etc/openvpn/ovpn_tcp/nl400.nordvpn.com.tcp.ovpn
echo "<gebruikersnaam> $#"
echo "<wachtwoord> $#"

Als ik het scriptuitvoer wordt echte gevraagd om de gebruikersnaam en wachtwoord in te voeren, inplaats van dat deze vanuit het script worden overgenomen.
Wat is de fout in het script?

Offline Bloom

  • Lid
Re: script met invoergegevens
« Reactie #1 Gepost op: 2022/11/09, 14:58:25 »
OpenVPN ondersteunt niet het doorgeven van gebruikersnaam en wachtwoord via de opdrachtregel.De $# die je gebruikt geeft het aantal parameters waarmee het script aangeroepen werd. De eerste parameter is $1, de tweede $2 enz. tot $9. Wil je parameter 10 en meer hebben, dan moet dat tussen accolades staan: ${10} enz.
Je kunt bij openvpn wel een authenticatiebestand aanmaken met daarin twee regels: eerst de gebruikersnaam en dan het wachtwoord.Dan kun je dat bestand opgeven achteraan de opdrachtregel met--auth-user-pass.
Als volgt:openvpn /etc/openvpn/ovpn_tcp/nl400.nordvpn.com.tcp.ovpn --auth-user-pass /padnaar/bestandsnaam.extEventueel kun je dat bestand in realtime aanmaken vanuit de opdrachtregelparameters
!/bin/bash
clear
if [[ -z $1 ]]; then
  echo "Geef alsjeblieft gebruikersnaam en wachtwoord op voor de vpn-verbinding."
elif [[ -z $2 ]]; then
  echo "Je gaf een gebruikersnaam, maar geen wachtwoord voor de vpn-verbinding."
 else
  echo $1 >authdata.txt
  echo $2>>authdata.txt
  openvpn /etc/openvpn/ovpn_tcp/nl400.nordvpn.com.tcp.ovpn --auth-user-pass authdata.txt
  rm -f authdata.txt
fi

Offline jfh

  • Lid
Re: script met invoergegevens
« Reactie #2 Gepost op: 2022/11/09, 21:12:22 »
Beste Bloom, dank voor je reactie.  Heb een tekst bestand (vpndata.txt) aangemaakt met  naam en password elk op een afzonderlijke regel.
Script als volgt aangepast:
#!/bin/bash
clear
sudo openvpn /etc/openvpn/ovpn_tcp/nl400.nordvpn.com.tcp.ovpn --auth-user-pass /home/george/VPN/vpndata.txt

Krijg nu echter deze foutmelding:

Options error: I'm trying to parse "/etc/openvpn/ovpn_tcp/nl400.nordvpn.com.tcp.ovpn" as an --option parameter but I don't see a leading '--'
Use --help for more information.



Offline Bloom

  • Lid
Re: script met invoergegevens
« Reactie #3 Gepost op: 2022/11/10, 03:47:08 »
Tussen openvpn en /etc/... hoort nog een --config, dat was ik nog vergeten. Heb zelf geen openvpn draaien.

Offline jfh

  • Lid
Re: script met invoergegevens
« Reactie #4 Gepost op: 2022/11/10, 08:49:27 »
Beste Bloom,
dat was het! helemaal goed, werkt nu prima. Dank voor je hulp