AmigaDOS - incremento di variabile che NON funziona

Classic, anche retrogaming

AmigaDOS - incremento di variabile che NON funziona

Messaggioda AMG_Novice_Usr » mer gen 05, 2022 8:48 pm

Buonasera,
per motivi che poi eventualmente chiarirò, vorrei far funzionare uno script di questo tipo:

set variab1 5
echo $variab1 ; effettivamente la shell/cli che fa il parsing di questo script, stampa a video il valore corretto, ovvero 5
set variab1 `eval $variab1 + 1` ; vorrei incrementare di 1 il valore attuale della variabile locale "variab1"
echo $variab1 ; la shell/cli stampa a video " `eval $variab1 + 1` ", quindi NON funziona
unset variab1

Ho provato a fare la stessa cosa utilizzando una variabile di ambiente globale, non locale, quindi visibile a qualunque shell/cli-processo concorrente a quello che sta eseguendo tale script:

setenv variab2 5
echo $variab2 ; effettivamente la shell/cli che fa il parsing di questo script, stampa a video il valore corretto, ovvero 5
set variab2 `eval $variab2 + 1` ; vorrei incrementare di 1 il valore attuale della variabile di ambiente globale "variab2"
echo $variab2 ; la shell/cli stampa a video " `eval $variab2 + 1` "
unsetenv variab2

Pertanto, l'incremento continua a NON funzionare.

L'incremento " set variab2 `eval $variab2 + 1` " è riportato da più di una fonte online, riportato come funzionante, ma a me non
funziona.

Sul manuale di AmigaDOS è riportato che bisogna fare così:

eval $variab2 + 1 to variab2

ma anche questa versione di istruzione di incremento non mi funziona ...

Cosa sto sbagliando?
Avatar utente
AMG_Novice_Usr

Veterano
 
Messaggi: 271
Iscritto il: ven mag 01, 2020 10:10 am
Località: Pisa

Re: AmigaDOS - incremento di variabile che NON funziona

Messaggioda AMIGASYSTEM » gio gen 06, 2022 12:43 am

Io non uso le Environment Variables, salvo quando è richiesto da qualche applicazione, magari se dici dove vorresti usarli e per quale applicazione magari faccio anche io qualche test, premetto che non sono esperto in questo campo.
Immagine - AROS One Home Site - AfA One - AROS One x86 - AROS One 68K - WinUAE OS 4.1 -

Miei AMIGA
Amiga 4000/Cyberstorm MK II/060/Picasso RAM 6MB Kick 3.1
Amiga 1200/030 Ram 16 Mega HD 500 MB
Amiga 1200/040 Ram 32 Mega HD 500 MB
Amiga 600 HD 20 MB
Amiga 600 Doppio Kickstart 2.05-1.3
Amiga 500 Plus Doppio Kickstart 204-1.3
Amiga 500
CD32/SX-32 MK1 RAM 8 MB HD 4G
CD32 Standard
Avatar utente
AMIGASYSTEM

Staff
 
Messaggi: 5513
Iscritto il: ven lug 25, 2008 8:39 pm
Località: Brindisi

Re: AmigaDOS - incremento di variabile che NON funziona

Messaggioda AMG_Novice_Usr » gio gen 06, 2022 1:11 pm

Voglio solo realizzare uno script in AmigaDOS che implementi un'iterazione, tipo un ciclo "while" oppure "for" tipici di qualunque linguaggio di programmazione strutturato, come il basic, il c/c++, python ecc ...
Quindi nessuno scopo particolare, nessuna applicazione terza ... nulla di nulla.
Voglio fare, come primo step (perchè servirà), uno script che più banale non si può ...
Questo, e nient'altro:

set pippo 13
echo $pippo ; vedo 13, e fin qui OK
set pippo `eval $pippo + 1` ; vorrei incrementare di 1 il valore attuale della variabile
echo $pippo ; avrei voluto vedere 14, invece vedo la stringa " `eval $pippo + 1` "
unset pippo

Sulla fonte online da cui ho attinto la riga:

set pippo `eval $pippo + 1`

ho trovato proprio la valutazione "eval $pippo + 1" con i due accenti gravi, quindi così:

`eval $pippo + 1`

che in ambiente Windows/Blocconote, si creano con:

ALT+96

tuttavia su EditPad di OS3.9/WinUAE non sono riuscito ad editare sullo script tale accento grave, non so come si fa ... ho anche cercato online, ma non ho trovato nulla di chè. Volevo provare ad editare esattamente l'accento grave, tante volte quel particolare accento fosse necessario al fine di far funzionare l'istruzione di incremento trovata online:

`eval $pippo + 1`

anche se non credo proprio che sia colpa dell'accento grave, che io ho sostituito con l'apice, l'unico "accento" che mi è riuscito di battere su EditPad/OS3.9/WinUAE ... ho anche provato ad omettere gli accenti, quindi a scrivere:

set pippo eval $pippo + 1

ma nulla da fare, ancora non ottengo l'incremento voluto!

Sottolineo che sul manuale di AmigaDOS, pare che si debba fare:

eval $pippo + 1 TO pippo

ma a me non sembra funzionare ...
Avatar utente
AMG_Novice_Usr

Veterano
 
Messaggi: 271
Iscritto il: ven mag 01, 2020 10:10 am
Località: Pisa


Torna a Amiga OS Classic (1.x-3.x)

Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti