• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af z4ndx | 07.01.2012 20:08

Bash - while hjælp

Hjælp generelt
Go aften.. Jeg kunne godt lige bruge en hjælpende hånd.

Jeg bikser med et script. Og i det script, laver man en htaccess user, med tilhørende bruger. Så ledes:


echo "Please Type the password for the user: "
htpasswd -c /var/www/rutorrent/.htpasswd "$htauser"


Efter dette skal man skrive pass. Jeg kunne virkelig godt tænke mig at, hvis man skrev forkert i pass, at den loopede, så den kørte commanden igen, istedet for at faile og forsætte med scriptet.

Nu har jeg bruge en del tid på google, men opgiver.
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer6

# 1

13 år 5 måneder siden

Permalink

Indsendt af Marcus den 7. januar 2012 kl. 20:42

Permalink

Nu har jeg aldrig selv rodet

Nu har jeg aldrig selv rodet med htpasswd, men hvad er output fra htpasswd hvis kodeordet er forkert?

EDIT:
Du kan prøve noget i stil med:


#!/bin/bash
while true; do
echo "Please Type the password for the user: "
read input
output=$(htpasswd -c /var/www/rutorrent/.htpasswd "$input")
if [ "$output" = "TEKSTOUTPUT HVIS KODE ER RIGTIG" ]; then
break
else
echo "Wrong password, try again"
fi
done
  • Log ind eller opret dig for at tilføje kommentarer

# 2

13 år 5 måneder siden

Permalink

Indsendt af z4ndx den 7. januar 2012 kl. 21:50

Permalink

Naej.. Det virker ikke

Naej.. Det virker ikke rigtig :) ..
  • Log ind eller opret dig for at tilføje kommentarer

# 3

13 år 5 måneder siden

Permalink

Indsendt af Tukanfan den 7. januar 2012 kl. 21:54

Permalink

HejHvad med at bruge "$?"

Hej
Hvad med at bruge "$?" som er lig den sidst udfoerte kommandos exit code?
Hvis denne er forskellig fra 0, ved man saa, om htpasswd afsluttede med fejl (f.eks. at koderne ikke var ens). Ved modificering af Marcus' script:

#!/bin/bash
while true; do
echo "Please Type the password for the user: "
htpasswd -c /var/www/rutorrent/.htpasswd "$htauser"
if [ $? = 0 ]; then
break
fi
done

Det ser maaske lidt dumt ud at der bliver spurgt om password baade af scriptet selv samt htpasswd, saa maaske kan linjen

echo "Please Type the password for the user: "

udelades.
Bemaerk ogsaa, at htpasswd tillader brugeren at specificere et tomt password.
PS. Jeg gaar ud fra at variablen htauser er udfyldt i forvejen.
  • Log ind eller opret dig for at tilføje kommentarer

# 4

13 år 5 måneder siden

Permalink

Indsendt af z4ndx den 7. januar 2012 kl. 22:21

Permalink

Tju hej hvor det fungere :)

Tju hej hvor det fungere :) .. Også har jeg lært at bruge $? idag. Fantastisk :)

Men hvorfor er 2 korrekte passwd's output = 0 ? Det forstår jeg ikke.
  • Log ind eller opret dig for at tilføje kommentarer

# 5

13 år 5 måneder siden

Permalink

Indsendt af Tukanfan den 7. januar 2012 kl. 22:27

Permalink

Det var da godt :)
Det er

Det var da godt :)
Det er heller ikke programmets output men dens exit-code.
Der er consensus om, at naar et program har afsluttet successfuldt, skal den altid returnere exit-code 0. Skulle der derimod ske fejl, returnerer programmet en anden exit-code. Her staar det programmoeren frit for at vaelge hvilken kode der repraesenterer hvilke fejl. Nogen gange staar der i programmets manual hvad de forskellige koder betyder. Men 0 er altid lig success.
  • Log ind eller opret dig for at tilføje kommentarer

# 6

13 år 5 måneder siden

Permalink

Indsendt af z4ndx den 7. januar 2012 kl. 22:51

Permalink

Cool.. Lige en ting mere..

Cool..

Edit: Never mind.. Jeg havde "set -e" i starten af mit script. Det var årsagen. :)

Mange tak for hjælpen.
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

Gode anmeldelser Zorin OS 17.3 0
llumos Unix-operativsystem, 0
Den er go 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0

Seneste aktivitet

Linux App Store Flathub når 3 milliarder downloads 2
Digitaliseringsministeriet sætter gang i pilotprojekt om digital suverænitet 3
Mest sikker webbrowser 5
Firefox 2
Ingen Mint 4
Privatbeskeder 7
Backup/synkronisering? 3
BigLinux 5
Chatgpt satire 1
Læsning af databasefil i Firefox 2
Vanilla OS 15
Pepsi Challenge 4
"Intet realistisk alternativ" - mig i r*ven 10
Linuxin er nu migreret til Drupal 11 13
Et Dansk alternativ til Facebook 18
Ekstern Blu-ray-brænder, der fungerer med PCLinuxOS 3
Københavns og Aarhus Kommune dropper MS 9
Open Source-eksperimentet 1
Microsoft og Google ud af de danske skoler 2
Udfordringer med lydin på Debian 12 1

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !