[Risolto]Salvare contenuto file in variabile

Bash, Perl, Python, Ruby, ...

[Risolto]Salvare contenuto file in variabile

Messaggioda wtf » 01/01/2016, 21:27

Il problema è ridicolmente semplice, ma non riesco proprio a venirne a capo.
Se da terminale digito:
Codice: Seleziona tutto
VAR="$(< aux.txt)";echo "$VAR"

ottengo il contenuto di aux.txt senza problemi, ma se invece i suddetti due comandi li inserisco in uno script, allora a video non viene stampato nulla:
Codice: Seleziona tutto
#!/bin/bash
VAR="$(<aux.txt)"
echo "$VAR"

L'unico modo perché $VAR restituisca qualcosa è modificare lo script così:
Codice: Seleziona tutto
#!/bin/bash
VAR="$(cat aux.txt)"
echo "$VAR"


Idee?
Cose da sapere:
Avatar utente
wtf
Global Moderator
Global Moderator
 
Messaggi: 725
Iscritto il: 12/04/2011, 10:58

Re: Salvare contenuto file in variabile

Messaggioda HAL 9000 » 01/01/2016, 22:20

L'uso della ridirezione di input "<" senza un comando è supportata da bash, ma non da dash (non essendo prevista da POSIX).

L'unica cosa che mi viene in mente è che tu stia avviando lo script con dash/sh, invece che con bash. Non riesco altrimenti a replicare il tuo problema.

Se non fosse così, che versione di bash stai usando?
Ricordarsi di modificare il primo messaggio della discussione per aggiungere [RISOLTO] prima del titolo, quando conclusa.

Wiki: APT e Repository, Comandi utili, Collabora.
Manuali di Debian 10 "buster" (PC): installazione, aggiornamento da versione 9.
Avatar utente
HAL 9000
wiki member
wiki member
 
Messaggi: 1509
Iscritto il: 10/08/2009, 10:01

Re: Salvare contenuto file in variabile

Messaggioda wtf » 01/01/2016, 23:13

È proprio come dici tu, mi dimentico sempre che digitare sh non è lo stesso di bash.
Cose da sapere:
Avatar utente
wtf
Global Moderator
Global Moderator
 
Messaggi: 725
Iscritto il: 12/04/2011, 10:58


Torna a Scripting

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti