Shell Programming

Συζητήσεις σχετικά με θέματα που αφορούν λειτουργικά συστήματα (Linux, *BSD, MacOS, Windows, κτλ.) .
Post Reply
ablaz3r
byte level
byte level
Posts: 114
Joined: Wed Apr 21, 2004 1:02 am

Shell Programming

Post by ablaz3r » Tue Aug 30, 2005 11:45 pm

Γεια :)
Έχω μια αποριούλα που με βασανίζει. Θέλω να φτιάξω ένα shell script στο linux που να τρέχει κάποιες εντολές. Το πρόβλημα είναι ότι μια από αυτές τις εντολές και για την ακρίβεια η παρακάτω:

openssl ca -out client.crt -in client.csr -days 365 -subj "/C=GR/ST=GR/L=xxx/ CN=localhost/emailAddress=root@localhost"

Για να εκτελεστεί ρωτάει τον χρήστη αν είναι βέβαιος, και περιμένει να πληκτρολογηθεί "y" ή "n".

Το πρόβλημα είναι ότι θέλω να δίνει αυτόματα το "y" και να μην χρειάζεται κάθε φορά που τρέχει το script να σταματάει και να ρωτάει.

Η εντολή openssl δεν έχει κάποια επιλογή για αυτό (π.χ. -force) οπότε θα χρειαστεί να γίνει αλλίως.


Καμιά ιδέα?

Ευχαριστώ.
Νίκος
User avatar
HdkiLLeR
Venus Project Founder
Venus Project Founder
Posts: 4356
Joined: Tue Jan 27, 2004 4:41 pm
Academic status: Alumnus/a
Gender:
Location: New York, NY
Contact:

Post by HdkiLLeR » Tue Aug 30, 2005 11:56 pm

Δοκίμασε echo "y" | openssl ... blah blah...
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------

"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
User avatar
HdkiLLeR
Venus Project Founder
Venus Project Founder
Posts: 4356
Joined: Tue Jan 27, 2004 4:41 pm
Academic status: Alumnus/a
Gender:
Location: New York, NY
Contact:

Post by HdkiLLeR » Wed Aug 31, 2005 12:12 am

Τελικά ήταν το -batch ε;
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------

"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
ablaz3r
byte level
byte level
Posts: 114
Joined: Wed Apr 21, 2004 1:02 am

Post by ablaz3r » Wed Aug 31, 2005 12:19 am

yep ;)

Πάντως και το "echo y | command" δουλεύει για τις πιο πολλές εντολές... π.χ. "echo y | rm file"
Νίκος
User avatar
TaRaNTuLa
Gbyte level
Gbyte level
Posts: 1598
Joined: Fri Apr 30, 2004 4:54 pm
Academic status: PhD
Gender:
Location: MMLab

Post by TaRaNTuLa » Wed Aug 31, 2005 12:42 am

ablaz3r wrote:yep ;)

Πάντως και το "echo y | command" δουλεύει για τις πιο πολλές εντολές... π.χ. "echo y | rm file"
Δε χρειάζεται να είναι ανάποδα;Δηλαδή "rm file | echo y",εε;;; :???: Αφού πρώτα δίνεις εντολή για να σβηστεί το αρχείο και μετά σε ρωτάει...Λέω εγώ τώρα...(προφανώς μπαρούφα! :lol: )
Tamiya rulezZz....

TL-01 Full Carbon, TL-01 Upgraded, FF-01 Upgraded, M03, CC-01, ΤΤ-01 TypeE, Volvo και Scania Trucks και η λίστα συνεχίζεται...
User avatar
HdkiLLeR
Venus Project Founder
Venus Project Founder
Posts: 4356
Joined: Tue Jan 27, 2004 4:41 pm
Academic status: Alumnus/a
Gender:
Location: New York, NY
Contact:

Post by HdkiLLeR » Wed Aug 31, 2005 2:59 am

Μάλλον μπαρούφα έπαιξε...το echo "y" | rm file στέλνει το y στο rm file. Εάν κάνεις rm file | echo y θα σωληνώσεις την έξοδο του rm file (που δεν έχει έξοδο) με το echo y το οποίο δεν θέλει είσοδο!!
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------

"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
Post Reply

Return to “Λειτουργικά συστήματα”