Ondersteuning > Programmeren

script met invoergegevens

(1/1)

jfh:
´╗┐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?

Bloom:
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:
--- Code: ---openvpn /etc/openvpn/ovpn_tcp/nl400.nordvpn.com.tcp.ovpn --auth-user-pass /padnaar/bestandsnaam.ext
--- Einde van code ---
Eventueel kun je dat bestand in realtime aanmaken vanuit de opdrachtregelparameters

--- Code: ---!/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

--- Einde van code ---

jfh:
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.


Bloom:
Tussen openvpn en /etc/... hoort nog een --config, dat was ik nog vergeten. Heb zelf geen openvpn draaien.

jfh:
Beste Bloom,
dat was het! helemaal goed, werkt nu prima. Dank voor je hulp

Navigatie

[0] Berichtenindex

Naar de volledige versie