Como ocultar a saida de um comando em shell script?? [RESOLVIDO]

1. Como ocultar a saida de um comando em shell script?? [RESOLVIDO]

farimba ayato
farayato

(usa Outra)

Enviado em 18/12/2018 - 23:43h

Vi um artigo aqui no VOL e resolvi tentar fazer um script, estou aprendendo shell e algumas coisas ainda não peguei direito.


if [ "$1" == "" ]
then
echo "Usage ./toanother.sh [video.mp4] [song.mp3]"
else
echo "Adding metadatas..."
echo "Title: "
read title
echo "Artist: "
read artist
echo "Album: "
read album

ffmpeg -i $1 -metadata title=$title -metadata artist=$artist -metadata album=$album $2
fi


Quero ocultar a saida do ffmpeg pra depois fazer uma saida mais bonitinha e formatada. Outra duvida que eu tenho é em relacão ao echo e o read. Quero que quando ele pergunte "Title: " eu possa responder na mesma linha da pergunta.

Obrigado valeu


  


2. Re: Como ocultar a saida de um comando em shell script?? [RESOLVIDO]

Matheus
pylm

(usa Gentoo)

Enviado em 18/12/2018 - 23:46h

Cê pode redirecionar toda a saída do comando pro /dev/null, assim:

> /dev/null 2>&1

Coloque no final da linha do ffmpeg


3. Re: Como ocultar a saida de um comando em shell script?? [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 18/12/2018 - 23:54h

quando se quer ocultar uma saída a gente redireciona para algum buraco "1>/dev/null"
echo "mauricio" 1>/dev/null  


mais >> https://www.vivaolinux.com.br/dica/Redirecionadores

e para o echo na mesma linha a gente usa o 'read'
read -p "digite alguma coisa -> " 



------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------



4. Re: Como ocultar a saida de um comando em shell script?? [RESOLVIDO]

farimba ayato
farayato

(usa Outra)

Enviado em 18/12/2018 - 23:55h

pylm escreveu:

Cê pode redirecionar toda a saída do comando pro /dev/null, assim:

> /dev/null 2>&1

Coloque no final da linha do ffmpeg


Deu certo aqui, obrigado! Fui pesquisar o porquê desse comando e achei bem interessante, obrigado mais uma vez!




5. Re: Como ocultar a saida de um comando em shell script?? [RESOLVIDO]

farimba ayato
farayato

(usa Outra)

Enviado em 19/12/2018 - 00:02h

Mauriciodez escreveu:

quando se quer ocultar uma saída a gente redireciona para algum buraco "1>/dev/null"
echo "mauricio" 1>/dev/null  


mais >> https://www.vivaolinux.com.br/dica/Redirecionadores

e para o echo na mesma linha a gente usa o 'read'
read -p "digite alguma coisa -> " 



------------------------------------------| Linux User #621728 |-----------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------| Linux User #621728 |-----------------------------------------


Valeu Mauricio!!! Vou ler mais sobre redicionadores.


6. Re: Como ocultar a saida de um comando em shell script?? [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 19/12/2018 - 17:57h


farayato escreveu:

Vi um artigo aqui no VOL e resolvi tentar fazer um script, estou aprendendo shell e algumas coisas ainda não peguei direito.


if [ "$1" == "" ]
then
echo "Usage ./toanother.sh [video.mp4] [song.mp3]"
else
echo "Adding metadatas..."
echo "Title: "
read title
echo "Artist: "
read artist
echo "Album: "
read album

ffmpeg -i $1 -metadata title=$title -metadata artist=$artist -metadata album=$album $2
fi


Quero ocultar a saida do ffmpeg pra depois fazer uma saida mais bonitinha e formatada.
Outra duvida que eu tenho é em relação ao echo e o read. Quero que quando ele pergunte "Title: " eu possa responder na mesma linha da pergunta.

Obrigado valeu

Boa tarde Farayato.
Me surgiu uma duvida....
Se jogar a saída para o /dev/null,
Não vai conseguir formata-la...., como você mencionou....
Direcione a saída para um arquivo...
Para não "repetir" 3 comandos read, fiz um laço...
Segue:
#!/bin/bash
CV="\e[1;38;5;196m"
FC="\e[m"
tput clear

if (( $# < 2));then
echo -e "$CV Usage:\n $0 [video.mp4] [song.mp3] $FC"
else
echo -e "Adding metadatas...\n"
for X in Title Artist Album;do
read -p "$X: " "$X"
done
ffmpeg -i $1 -metadata title=${Title} -metadata artist=${Artist} -metadata album=${Album} $2 &> saida.txt
fi

Att.:
Marcelo Oliver





7. Re: Como ocultar a saida de um comando em shell script?? [RESOLVIDO]

farimba ayato
farayato

(usa Outra)

Enviado em 20/12/2018 - 00:02h

msoliver escreveu:
Boa tarde Farayato.
Me surgiu uma duvida....
Se jogar a saída para o /dev/null,
Não vai conseguir formata-la...., como você mencionou....
Direcione a saída para um arquivo...
Para não "repetir" 3 comandos read, fiz um laço...
Segue:
#!/bin/bash
CV="\e[1;38;5;196m"
FC="\e[m"
tput clear

if (( $# < 2));then
echo -e "$CV Usage:\n $0 [video.mp4] [song.mp3] $FC"
else
echo -e "Adding metadatas...\n"
for X in Title Artist Album;do
read -p "$X: " "$X"
done
ffmpeg -i $1 -metadata title=${Title} -metadata artist=${Artist} -metadata album=${Album} $2 &> saida.txt
fi

Att.:
Marcelo Oliver




Boa noite Marcelo, gostei de como usou o loop para ler as variaveis. Como estou aprendendo shell ainda, seu código me ajudou a ver uma outra forma de fazer as leituras e usar o loop.
A saida eu estava tentando formatar usando o grep e o cut, mas não saiu como eu esperava kkkkk
Obrigado!!!




8. Re: Como ocultar a saida de um comando em shell script?? [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 20/12/2018 - 13:27h

farayato escreveu:
Boa noite Marcelo, gostei de como usou o loop para ler as variaveis.
Como estou aprendendo shell ainda, seu código me ajudou a ver uma outra forma de fazer as leituras e usar o loop.
A saida eu estava tentando formatar usando o grep e o cut, mas não saiu como eu esperava kkkkk
Obrigado!!!


Boa tarde Farayato.
Uma "coisa" que evito no script , é comando repetitivo.... rsrsrsr
Quais as informações da saída que você quer?
Poste um exemplo....

att.:
Marcelo Oliver




9. Re: Como ocultar a saida de um comando em shell script?? [RESOLVIDO]

farimba ayato
farayato

(usa Outra)

Enviado em 20/12/2018 - 23:39h

msoliver escreveu:
Boa tarde Farayato.
Uma "coisa" que evito no script , é comando repetitivo.... rsrsrsr
Quais as informações da saída que você quer?
Poste um exemplo....

att.:
Marcelo Oliver

Ti
Eu gostaria de ter a propria saida do ffmpeg mas so a parte que fala do metadatas, exemplo Title: tal, Album: tal e assim vai... Obrigado pela ajuda mais uma vez!


10. Re: Como ocultar a saida de um comando em shell script?? [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 21/12/2018 - 00:05h


farayato escreveu:

msoliver escreveu:
Boa tarde Farayato.
Uma "coisa" que evito no script , é comando repetitivo.... rsrsrsr
Quais as informações da saída que você quer?
Poste um exemplo....

att.:
Marcelo Oliver

Ti
Eu gostaria de ter a propria saida do ffmpeg mas so a parte que fala do metadatas, exemplo:
Title: tal, Album: tal e assim vai... Obrigado pela ajuda mais uma vez!


Mas essas informações vc inseriu no script....
Não precisa pagar da saída do ffmpeg....
Segue a saída completa do ffmpeg
ffmpeg version 3.2.12-1~deb9u1 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
configuration: --prefix=/usr --extra-version='1~deb9u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/media/user/CASH_APT/HTML/mov_bbb.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isomavc1
creation_time : 2012-03-13T08:58:06.000000Z
encoder : HandBrake 0.9.6 2012022800
Duration: 00:00:10.03, start: 0.000000, bitrate: 629 kb/s
Chapter #0:0: start 0.000000, end 10.000000
Metadata:
title : Chapter 1
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 320x176, 300 kb/s, 25 fps, 25 tbr, 90k tbn, 180k tbc (default)
Metadata:
creation_time : 2012-03-13T08:58:06.000000Z
encoder : JVT/AVC Coding
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s (default)
Metadata:
creation_time : 2012-03-13T08:58:06.000000Z
Stream #0:2(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s
Metadata:
creation_time : 2012-03-13T08:58:06.000000Z
Stream #0:3(und): Data: bin_data (text / 0x74786574), 0 kb/s
Metadata:
creation_time : 2012-03-13T08:58:06.000000Z
Output #0, mp3, to 'teste.mp3':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isomavc1
TALB : Album
TIT2 : TITULO
TPE1 : ARTISTA
TSSE : Lavf57.56.101
Chapter #0:0: start 0.000000, end 10.000000
Metadata:
TIT2 : Chapter 1
Stream #0:0(und): Audio: mp3 (libmp3lame), 48000 Hz, stereo, fltp (default)
Metadata:
creation_time : 2012-03-13T08:58:06.000000Z
encoder : Lavc57.64.101 libmp3lame
Stream mapping:
Stream #0:1 -> #0:0 (aac (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
size= 113kB time=00:00:07.19 bitrate= 128.5kbits/s speed=14.4x
size= 157kB time=00:00:10.03 bitrate= 128.4kbits/s speed=15.5x
video:0kB audio:157kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.273500%




11. Re: Como ocultar a saida de um comando em shell script?? [RESOLVIDO]

farimba ayato
farayato

(usa Outra)

Enviado em 21/12/2018 - 00:50h

msoliver escreveu:


farayato escreveu:

msoliver escreveu:
Boa tarde Farayato.
Uma "coisa" que evito no script , é comando repetitivo.... rsrsrsr
Quais as informações da saída que você quer?
Poste um exemplo....

att.:
Marcelo Oliver

Ti
Eu gostaria de ter a propria saida do ffmpeg mas so a parte que fala do metadatas, exemplo:
Title: tal, Album: tal e assim vai... Obrigado pela ajuda mais uma vez!


Mas essas informações vc inseriu no script....
Não precisa pagar da saída do ffmpeg....
Segue a saída completa do ffmpeg
ffmpeg version 3.2.12-1~deb9u1 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
configuration: --prefix=/usr --extra-version='1~deb9u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/media/user/CASH_APT/HTML/mov_bbb.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isomavc1
creation_time : 2012-03-13T08:58:06.000000Z
encoder : HandBrake 0.9.6 2012022800
Duration: 00:00:10.03, start: 0.000000, bitrate: 629 kb/s
Chapter #0:0: start 0.000000, end 10.000000
Metadata:
title : Chapter 1
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 320x176, 300 kb/s, 25 fps, 25 tbr, 90k tbn, 180k tbc (default)
Metadata:
creation_time : 2012-03-13T08:58:06.000000Z
encoder : JVT/AVC Coding
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s (default)
Metadata:
creation_time : 2012-03-13T08:58:06.000000Z
Stream #0:2(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s
Metadata:
creation_time : 2012-03-13T08:58:06.000000Z
Stream #0:3(und): Data: bin_data (text / 0x74786574), 0 kb/s
Metadata:
creation_time : 2012-03-13T08:58:06.000000Z
Output #0, mp3, to 'teste.mp3':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isomavc1
TALB : Album
TIT2 : TITULO
TPE1 : ARTISTA
TSSE : Lavf57.56.101
Chapter #0:0: start 0.000000, end 10.000000
Metadata:
TIT2 : Chapter 1
Stream #0:0(und): Audio: mp3 (libmp3lame), 48000 Hz, stereo, fltp (default)
Metadata:
creation_time : 2012-03-13T08:58:06.000000Z
encoder : Lavc57.64.101 libmp3lame
Stream mapping:
Stream #0:1 -> #0:0 (aac (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
size= 113kB time=00:00:07.19 bitrate= 128.5kbits/s speed=14.4x
size= 157kB time=00:00:10.03 bitrate= 128.4kbits/s speed=15.5x
video:0kB audio:157kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.273500%



Pois é, na minha cabeça minha ideia era tratar essa saida, mas agora vejo que não é viavel fazer isso de maneira alguma. No meu script eu ocultei a saida e assim que o ffmpeg chegou ao fim eu coloquei um ' echo -e "\nDone" '. Valeu pelas ajudas e sugestões Marcelo!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts