Ho problemi nell'esecuzione di uno script semplice in bash. Lo script è come questo:comando di lettura non attende input
#! /bin/sh
read -p 'press [ENTER] to continue deleting line'
sudo sed -ie '$d' /home/hpccuser/.profile
e quando eseguo lo script con ./script l'uscita è come questo:
press [ENTER] to continue deleting line./script: 3: read: arg count
[sudo] password for user
ho eseguito il comando di lettura direttamente nel terminale (copia e incolla dallo script al terminale) e funziona bene; aspetta che venga premuto un INVIO (proprio come una pausa).
ho controllato e il mio $ SHELL ero bash. così/bin/sh lancerebbe bash. ho sbagliato? –
@mohammadhmontazeri '/ bin/sh' lancia qualunque shell sia, beh,'/bin/sh' - NON il tuo '$ SHELL'. Inoltre, iniziando bash come '/ bin/sh' (nel caso in cui'/bin/sh' sia un link simbolico a 'bash') disabilita una grande quantità di funzionalità. –
@mohammadhmontazeri Vedi http://mywiki.wooledge.org/BashGuide/Practices#Choose_Your_Shell per ulteriori informazioni. –