honeybee
Goto Top

Einlesen von Passwörtern

Hallo,

wie muss das Bash-Skript aussehen, wenn man Passwörter einlesen möchte?

Mein Versuch

echo -sp 'Passwort: ' password  
$password

führt zu dieser Fehlermeldung:

read: Illegal option -s

Content-Key: 363067

Url: https://administrator.de/contentid/363067

Printed on: April 24, 2024 at 14:04 o'clock

Member: Kraemer
Kraemer Jan 31, 2018 at 09:54:47 (UTC)
Goto Top
Moin,

ich mache es mir heute mal leicht: https://www.youtube.com/watch?v=xHyIGW1oJDc

Gruß
Member: Voiper
Solution Voiper Jan 31, 2018 updated at 10:10:53 (UTC)
Goto Top
Zitat von @Kraemer:

Moin,

ich mache es mir heute mal leicht: https://www.youtube.com/watch?v=xHyIGW1oJDc

Gruß
Ich glaube hier geht es aber um Bash, nicht um Batch du Faulpelz ;)

echo hat keine -s oder p Optionen.
https://linux.die.net/man/1/echo
http://wiki.bash-hackers.org/commands/builtin/read

Ein Beispiel:

#!/bin/bash
# Read Password
echo -n Password: 
read -s password
echo
# Run Command
echo $password

Das echo am Ende dann einfach mit dem ersetzen, was du brauchst.

Gruß, V
Member: Arano
Arano Jan 31, 2018 updated at 10:17:23 (UTC)
Goto Top
Hallo
und um noch eine Antwort drunter zu setzten:
(kann man auch in man bash nachlesen)

arano@host:~$ read -sp "inp:" var; echo "__:$var"  
inp:__:Administrator.de
arano@host:~$ 

Edit: Da hat @Voiper noch etwas nachgelegt während ich im Manual las...

~Arano
Member: Voiper
Voiper Jan 31, 2018 updated at 10:18:45 (UTC)
Goto Top
Zitat von @Arano:

Hallo
und um noch eine Antwort drunter zu setzten:
(kann man auch in man bash nachlesen)

> arano@host:~$ read -sp "inp:" var; echo "__:$var"  
> inp:__:Administrator.de
> arano@host:~$ 
> 
da kommt dann aber "Zeile 2: inp:__:Administrator.de: Befehl nicht gefunden"

Edit: Da hat @Voiper noch etwas nachgelegt während ich im Manual las...
Ja, wollte mal nett sein ;)
Member: Kraemer
Kraemer Jan 31, 2018 at 10:18:31 (UTC)
Goto Top
Zitat von @Voiper:
Ich glaube hier geht es aber um Bash, nicht um Batch du Faulpelz ;)
mist - schon wieder... danke für den Hinweis - wäre sonst endgeil peinlich geworden
Member: Arano
Arano Jan 31, 2018 updated at 10:33:12 (UTC)
Goto Top
Hi,
das ich das aus meinem Terminal kopiert habe ist nicht aufgefallen ?
Nur die Kommandos:
read -sp "inp:" var; echo "__:$var"  
Das Erste erzeugt die Ausgabe
inp:
hinter der ich dann meine Eingabe gemacht habe die in der Variable "var" abgelegt wird, welche mit dem zweitem Teil (hinter dem Semikolon)
und vorangestellten Zeichenkette "__:" wieder ausgebe.
Weil ich nirgends einen extra Zeilenumbruch erzeuge, gibt es nur den vom letztem echo und sieht dann so aus:
inp:__:Administrator.de
("Administrator.de" was meine Eingabe hinter "inp:")
Und da hier dann Ende ist, lande ich wieder in meiner Terminaleingabe:
arano@host:~$
;)


~Arano
Member: Rudbert
Rudbert Jan 31, 2018 updated at 12:20:08 (UTC)
Goto Top
Hi,

was du suchst ist "expect", das wurde genau für solche Zwecke geschaffen:

http://expect.sourceforge.net/


EDIT: ok nicht genau gelesen, dachte du wolltest an "passwd" das Passwort übergeben...


Gruß