Re:calcolatore x eq. di secondo grado
« Risposta #15 il: Gennaio 14, 2022, 12:45 »
Hummm ... ignoro le domande rivolte a @RicPol, anche se dal codice vedo che hai "digerito poco", risponderà lui se riterrà, passo direttamente alle Tue domande su Linux.

Rispondi pure , mi fa molto piacere sapere le cose che non vanno bene per poter migliorarmi. ;)


In primo luogo, ignoro la faccenda delle directory, è un "qualcosa" di relativo a ciò che serve caso per caso, consideriamo il Tuo sript di esempio:
P:~$ nano script.sh
NzP:~$ cat script.sh
#!/bin/sh

echo Quanti anni hai?
read anni
if [ $anni -ge 18 ]
then
echo sei maggiorenne
else
echo sei minorenne
fi

La Tua modalità di avvio dello script è invocare la Korn-shell per eseguirlo, discorso validissimo
NzP:~$ sh script.sh
Quanti anni hai?
62
sei maggiorenne
NzP:~$ sh script.sh
Quanti anni hai?
12
sei minorenne

[/quote]

Quello l'ho so fare , avendo fretta ho fatto un esempio (anche se non corretto e completo  ) per poter spiegare come procedo su linux per scrivere delle script.

[quote author=nuzzopippo link=topic=11417.msg90781#msg90781 date=1641653056]

MA c'è un particolare : hai inserito la shebang!
Questo particolare accorgimento Ti permetterebbe di eseguire lo script invocando automaticamente l'interprete dei comandi voluto, basta renderlo eseguibile, vedi sotto
NzP:~$ chmod +x script.sh
NzP:~$ ./script.sh
Quanti anni hai?
54
sei maggiorenne

che poi è il metodo di norma usato per lanciare gli script in linux, piuttosto comodo nel caso uno script invochi altri script.

Tale metodologia, nel mondo linux, è applicabile anche agli script python, si può invocare direttamente l'interprete dei comandi oppure inserirlo tramite la shebang e rendendo lo script eseguibile, esempio
NzP:~$ nano script.py
NzP:~$ cat script.py
#!/usr/bin/env python3

anni = int(input('Quanti anni hai? : '))
if anni >= 18:
print('Sei maggiorenne')
else:
print('Sei minorenne')
NzP:~$ chmod +x script.py
NzP:~$ ./script.py
Quanti anni hai? : 18
Sei maggiorenne
NzP:~$

Ora l'ho capito , provo a farlo e ti faccio sapere

Come puoi constatare, utilizzare la shebang ed i permessi di scrittura rende lo script quasi un programma autonomo (apparentemente).
Noterai, senz'altro, la particolare forma della shebang : "#!/usr/bin/env python3"
Tale particolare notazione è data per generalizzare l'invocazione di python, versione 3, che può essere difforme tra le varie distribuzioni linux, e quindi non univocamente raggiungibile, ci si affida quindi alle impostazioni di ambiente (environment) per raggiungere l'eseguibile python voluto.

Ovviamente, nel caso Tu volessi avviare la versione di un particolare ambiente python, diciamo un Tuo venv python, dovresti indicare il path assoluto del relativo eseguibile python nella shebang.

Spero Ti sia sufficiente :)

P.S. - in genere, nei miei script uso la shell bash, ma non cambia molto ;)
Grazie di tutto e scusami se rispondo solo ora , ho avuto tanti impegni e mi sono dovuto staccarmi un po'.