Gå til innhold

Automatisk fylle inn command line input requests


Anbefalte innlegg

Hei

 

La oss anta at jeg har et python-script som skal kjøre en rekke kommandoer. Dette er ganske straight forward.

 

Problemet er bare at istedenfor at disse programmene tar input som parameter så _spør_ de bruker om input. Ved request om input henger programmet til den mottar input+linjeskift. Er det noen måte jeg ved hjelp av python automatisk kan fylle ut slike input requests? Jeg har en anelse om at løsningen innebærer pipes, men dessverre kan jeg ikke nok til å vite helt hvor jeg skal starte.

 

eksempel:

 

"skriv inn navn: " <-- henger her til bruker skriver input og trykker enter

 

Takker så mye for evt svar!

Lenke til kommentar
Videoannonse
Annonse
Du trenger ikke Python til dette, bruk redirect av input i shellet ditt. I bash bruker du < til input og > til output. Så hvis du har kommandoene i en fil 'input' kan du kjøre:

python mittscript.py < input

 

Hei

 

Det er en del av et større python script som først ber brukeren om input, for så å bruke denne til å kjøre en rekke andre kommandoer. Hensikten er å slippe å skrive inn samme input ganger til forskjellige kommandoer. Derfor blir det ikke så enkelt å bare pipe det på måten du beskriver.

 

Videre ber hver kommando om flere inputs (og blocker hver gang).

Lenke til kommentar
Videre ber hver kommando om flere inputs (og blocker hver gang).

Det har ingenting å si, skriv første kommando på første linje, andre kommando på andre linje osv. Men hvis du etter litt automatisk inputting plutselig vil gjøre det manuelt så fungerer det vel ikke, nei.

Lenke til kommentar

Nei, jeg tenkte på explosif sitt forslag. Det ville fungert hvis det ikke var for at programmet jeg ønsket å gjøre det på (cryptsetup) ikke tåler input fra script...Skulle lage et minimalistisk brukergrensesnitt for å endre encryption password på en luks-kryptert disk.

 

Fant dessverre ingen god måte å omgå den begrensningen og la derfor hele prosjektet på is. Synd ettersom luks-kommandoene er vanvittig tungvint å bruke.

Endret av invictus
Lenke til kommentar
Nei, jeg tenkte på explosif sitt forslag. Det ville fungert hvis det ikke var for at programmet jeg ønsket å gjøre det på (cryptsetup) ikke tåler input fra script...

 

Hva mener du med "ikke tåler input fra script"? cryptsetup tar da vitterlig input fra f.eks. pipe.

 

Fant dessverre ingen god måte å omgå den begrensningen og la derfor hele prosjektet på is. Synd ettersom luks-kommandoene er vanvittig tungvint å bruke.

 

Ehhh... hvilken del av cryptsetup luksAddKey <device> er komplisert?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...