Escrevendo a saída de um comando para um arquivo em um script bash

0

Eu estou tentando escrever um script bash simples que executa o comando tcprobe -i $1 onde $1 é um arquivo mp4. Então, eu quero escrever a saída deste comando, que deve ser uma longa seqüência de informações sobre o arquivo de vídeo, para um arquivo chamado frameInfo.

Meu código atualmente é:

#/bin/bash
echo (tcprobe -i $1) > frameInfo

No entanto, isso grava a saída de tcprobe no arquivo.

    
por acn3 13.11.2016 / 23:32

1 resposta

3

Você não precisa do seu eco nem parênteses aqui. A verificação de $1 foi definida também pode ser relevante:

#!/bin/sh

if test "$#" -eq 0; then
    echo missing argument
    exit 1
fi >&2

if test "$DEBUG"; then
    set -x
    tcprobe -i "$1"
    echo returned $?
    set +x
else
    tcprobe -i "$1" >frameInfo 2>&1
fi

exit 0

use DEBUG=toto ./your/script yourFileArgument , para ativar os depuradores.

    
por 13.11.2016 / 23:40