Crie um arquivo e escreva para ele [closed]

0

Tentando criar um arquivo auto.home em / etc e gravar isso no arquivo:

192.168.56.101:/NFS/home/&

Eu não estou fazendo isso com a linha de comando, mas com o script bash.

Tentei, mas não funcionou: cat 192.168.56.101:/NFS/Home/& > /etc/auto.home

    
por user3185936 05.04.2014 / 14:20

2 respostas

2

Você pode usar "EOL" para indicar quando deseja encerrar a gravação no arquivo usando cat da seguinte forma:

#!/usr/bin/env bash
cat > temp_file << EOL
192.168.56.101:/NFS/home/&
EOL
sudo mv temp_file /etc/<filename>

Isso continuaria escrevendo para temp_file , até que "EOL" significasse End of Line.

Referido de: Uma pergunta semelhante sobre SO

    
por jobin 05.04.2014 / 14:28
1

Você não pode usar sudo para redirecionamento, o comando será executado com privilégios de root, mas o > (redirecionamento) não fará com que você receba um erro de "Permissão negada". Usar aqui-docs como a resposta de Jobin não ajudará.

Em vez disso, você pode usar uma dessas abordagens:

echo "192.168.56.101:/NFS/home/&" | sudo tee -a /etc/auto.home

tee permite anexar ( -a ) a um arquivo, já que você o executa com sudo e funcionará.

Como alternativa, use um arquivo temporário e mova-o:

echo "192.168.56.101:/NFS/home/&" > home.auto && sudo mv home.auto /etc
    
por terdon 05.04.2014 / 19:14