Obtendo o erro em nenhum arquivo ou diretório ao executar um script

0

Precisa de ajuda. Acabei de escrever meu primeiro script para alterar a configuração da rede. o código é

echo "changing IP to 172.17.51.71"
echo "changing Mask to 255.255.255.0"
echo "changing Gateway to 172.17.51.254"

sed -i 's/.*IPADDR.*$/IPADDR=172.17.51.71/g' /etc/ifcfg-eth0.txt
# ne need to change mask sed -i 's/.*IPADDR.*$/IPADDR=172.17.51.71/g' /etc/ifcfg-eth0
sed -i 's/.*GATEWAY.*$/GATEWAY=172.17.51.254/g' /etc/ifcfg-eth0.txt

Eu copiei o arquivo icfg-eth0 para a pasta etc para fins de teste. Quando eu executo o script, recebo o erro

:No such file or diretorytxt
:No such file or diretorytxt

Mas quando eu uso apenas os comandos no prompt, o comando funciona e muda o que eu quero que ele mude.

Alguma ideia do motivo pelo qual não está funcionando quando é executado como um script?

AsteriskNOWv3 (CentOS 6.2)

    
por Muhammad 01.09.2013 / 08:32

2 respostas

2

O motivo mais provável é que você tenha editado seu script no Windows e suas linhas sejam finalizadas com CR-LF em vez do LF único esperado.

Use o comando dos2unix para corrigi-lo.

dos2unix script

Como alternativa, você pode simplesmente executar

tr -d '\r' < script > script.fixed
    
por 01.09.2013 / 08:58
0

Parece-me que você adicionou ".txt" aos arquivos que está escrevendo - isso pareceria errado, como o bit após o "." é considerado uma VLAN, e .txt, claro, não é uma VLAN válida.

    
por 01.09.2013 / 10:39