Enviar o resultado de vários comandos para um arquivo de texto?
Pergunta
Isto é o que eu tenho até agora - meu dropbox pública URL script de criação de um diretório de URLs públicas ( getdropbox.com - gpl eu acho). Meu arquivo LIST
foi criada usando ls da seguinte forma:
ls -d ~/Dropbox/Public/PUBLICFILES/* > LIST
dropboxpuburl.sh:
for PATH in `cat LIST`
do
echo $PATH
dropbox puburl $PATH > ~/URLLIST/$PATH
done
Agora, isso cria uma série de arquivos -. Cada um com o puburl dropbox neles
A pergunta é: Como posso fazer com que esse script para redirecionar todas as ligações públicas em um arquivo de texto, cada um em uma nova linha - talvez com o nome PÚBLICO-DIRETÓRIO-LIST
Solução
É isso que você está tentando alcançar?
for PATH in `cat LIST`
do
echo $PATH
dropbox puburl $PATH >> filename
done
Outras dicas
OK, eu tenho que trabalhar usando as sugestões dadas para mim aqui:
for PATH in `cat LIST`
do
echo $PATH
dropbox puburl $PATH
done > PUBLIC-DIRECTORY-LIST
Ele cria uma lista dos diretórios, e abaixo deles o link público. Agora é hora de podar os diretórios para um arquivo de texto limpo de links.
O => cria os arquivos e acrescenta algo à primeira linha. >> anexa a ela em uma nova linha.
echo txt=>PUBLIC-DIRECTORY-LIST.txt |
echo another text>>PUBLIC-DIRECTORY-LIST.txt
Você deve usar while read
com redirecionamento de entrada em vez de for
com cat filename
. Além disso, a fim de evitar conflitos de nomes de variáveis ??que mudou a sua variável de caminho para minúsculas desde o shell usa as letras maiúsculas um já. Não vai afetar o seu shell interativo, mas poderia afetar algo em seu script.
Além disso, assumindo que você quer as linhas de seu arquivo de entrada a ser exibido na tela como um indicador de progresso, mas não capturada em seu arquivo de saída, este echo
envia para stderr
.
while read path
do
echo $path >&2
dropbox puburl $path
done < LIST > PUBLIC-DIRECTORY-LIST