Re: GPG wachtwoord vergeten
On 20-06-13 09:23, Arjen Bax wrote:
> Goeie tip, ik heb zelf ook al eens iets dergelijks bij de hand gehad met
> een SSL-certificaat. Ik zou een paar kleine wijzigingen willen
> voorstellen. In plaats van
>
> for word in $(cat words.txt)
> do
> iets
> done
>
> zou ik het volgende schrijven:
>
> cat words.txt | while read word
> do
> iets
> done
>
> of
>
> while read word
> do
> iets
> done < words.txt
>
> (maar dat tweede is minder leesbaar.)
Is wel beter, omdat het geen subshell start. Bij je eerste voorbeeld kan
je geen variabelen aanpassen in je loop; bij het tweede is dat geen
probleem.
> Reden: met de originele oplossing kun je geen passwords met spaties erin
> opgeven. (Mijn oplossing staat geen wachtwoorden toe met linefeeds
> (ASCII 10) erin, wat IMO minder bezwaarlijk is.)
Toch, maar dan moet je de $IFS variabele instellen ("IFS" staat hierbij
voor "Input Field Separator"). Bijvoorbeeld:
IFS='|'
while read pw
do
foo
done < words.txt
waarbij je bestand er dan als volgt kan uitzien:
foo|bar|wachtwoord met
linefeed en spaties in|wachtwoord zonder linefeed
--
This end should point toward the ground if you want to go to space.
If it starts pointing toward space you are having a bad problem and you
will not go to space today.
-- http://xkcd.com/1133/
Reply to: