Problemi all'avvio di script bash, ovvero dos2unix
giovedì 28 giugno 2007
Mi capitato recentemente di aver installato un Tomcat distribuito insieme ad un altro pacchetto proprietario. Il problema che ho avuto stato all'avvio del server, lanciando lo script ./catalina.sh (dopo essermi accorto che startup.sh non trovava il file catalina.sh) il prompt mi ritornava un errore di questo tipo:
catalina.sh: /bin/sh^M: bad interpreter: No such file or directory
Anche cambiando l'interprete nello script da sh a bash non ho risolto niente, anche cancellando la prima riga. La soluzione a questo problema (presente in diversi scripts) il programma dos2unix. Ci sono differenze nei file di testo scritti in dos e in linux (compresi altri unix come BSD e OSX), e queste differenze bloccano il funzionamento degli scripts se salvati in modalit dos, come sembrerebbe esserlo il file catalina.sh. La soluzione molto semplice, bisogna installare il pacchetto tofrodos tramite Synaptic o apt-get (stiamo parlando di sistemi Debian-based come Ubuntu), e usare il comando (nel caso di Tomcat):
dos2unix catalina.sh
oppure sostituendo catalina.sh con il nome dello script da convertire.