Repasse de parâmetros de um script a outro

Andei sofrendo em encontrar informações de como passar parâmetros de um script a outro, uma vez que um dos parâmetros era uma sentença. Bash traduz as aspas e repassa uma frase como vários parâmetros. Encontrei a solução e apresento meu script de passagem de erro em um script "biblioteca" chamado por outro script "principal". Para invocar, seja direto no shell, seja por outro script, a sintaxe segue abaixo: ./throwErr.sh "Mensagem de erro" 30 O código "30" é opcional, mas deve ser entre 11 e 99.

Por: Fernando Rego


Script de compilação automática do GCC-5.3.0 para Debian/Ubuntu de 32 bits

Script de compilação automática do GCC para Ubuntu, Debian, Mint, Trisquel 12.04+ de 32 bits. Ele baixa e instala todas as dependências e compiladores automaticamente. Como executar: $ time sudo bash scriptgcc-5.3.0_32BITS.sh Pagina do projeto: https://sourceforge.net/projects/scriptkernel/files/?source=navbar

Por: Mário RPG


duplex_record: mixando áudio do microfone e saída de áudio de um programa via P

Clicadores e servos da Canonical, aqui começa mais um Script do Dino® trazendo para todos vocês mais uma loucura qualquer do tempo em que os dinossauros eram vivos e o Sílvio Santos vendia o Carnê do Baú para eles. No Script de hoje, vamos aprender como mixar o áudio do microfone com a saída de áudio de um programa via PulseAudio. Mixagem é o procedimento pelo qual dois canais de áudio distintos se transformam em um único. Assim, com este Script você pode mixar o áudio do microfone com a saída de um outro programa (por exemplo, o VLC) e enviar a mixagem para um outro programa (seguindo o exemplo, enviar a mixagem pelo Hangouts para que um amigo possa escutar uma música que você esteja a reproduzir localmente). COMO USAR Usage duplex_record [-c | -C | -L | -h | -v ] [ -m arg ] [ -l arg ] Options -c Required: create two virtual sinks -C Required: delete virtual sink. Ignores -m and -l options -m arg Optional: name virtual mic sink (default: Mic) "arg" must be a single-word, no quotes, no special characters, string -l arg Optional: name virtual line sink, (default: Line) "arg" must be a single-word, no quotes, no special characters, string -L Show GPLv3 licence abstract, ignores -m and -l options -h Show this help, ignores -m and -l options -v Show version and changelog info, ignores -m and -l options In case -c, -C, -L, -h or -v being issued at same time, only the last one will be considered</div> Escrevi em inglês porque isso pode ser útil não apenas para nós, Brasileiros. COMO FUNCIONA O Script do Dino® cria dois sumidouros virtuais (nomes padrão: Virtual_Mic e Virtual_Line), liga o monitor do segundo sumidouro virtual ao sumidouro padrão e ao primeiro sumidouro virtual via loopback, e então liga o primeiro sumidouro ao sumidouro padrão por loopback. Na prática, isso traça o seguinte mapa de áudio: Microfone (l) Saída de áudio de um programa ------> segundo sumidouro virtual (m)> primeiro sumidouro virtual (m)> sumidouro padrão Legenda: (l)> redirecionamento por loopback (m)> redirecionamento pelo monitor O truque aqui reside no uso sagaz e maroto dos monitores e dos loopbacks de sumidouros. O monitor é um canal do sumidouro que permite que ele seja escutado por outro sumidouro (monitorado é o termo certo). Já o loopback é um canal do sumidouro que permite a gravação da saída de áudio daquele sumidouro. Com este Script do Dino®, a saída do microfone padrão é enviado via loopback pro primeiro sumidouro virtual. Quando o programa é instruído a usar o segundo sumidouro virtual como sua saída de áudio (via pavucontrol), envia-se o loopback do monitor tanto para a saída padrão de áudio (para permitir que você escute o que está sendo reproduzido) quanto para o primeiro sumidouro virtual. Assim, o primeiro sumidouro virtual recebe ao mesmo tempo o microfone e o segundo sumidouro virtual. Para direcionar o resultado dessa mixagem para algum programa que aceite entrada de áudio (desde o Audacity até o Google Hangouts), basta apenas configurar, via pavucontrol, o programa que receberá o áudio para usar o monitor do primeiro sumidouro virtual (o PulseAudio não permite gravação direta de sumidouros virtuais).

Por: Luís Fernando C. Cavalheiro


Relatório minuto a minuto de todas as conexões do servidor

Olá, seguindo minha linha de scripts de automação e segurança, trago para os membros do VOL um script que desenvolvi, que salva todas as conexões do servidor dentro de uma pasta. O arquivo é salvo em txt com data e horário e 2 vezes por dia é enviado por email, sendo que fica uma cópia no formato .tar.gz dentro de uma pasta. O sistema usa o netstat e o cron para automatização. Mãos ao shell! Primeiro você deve criar 2 pastas no home: mkdir /home/minuto-a-minuto mkdir /home/minuto-a-minuto/con Depois você deve criar 2 scripts. O primeiro pega as conexões e salva: cd /bin nano minuto-a-minuto.sh Depois, o segundo script é para você receber 2 vezes por dia, por email, as conexões no horário da meia noite e meio dia. Você pode mudar o horário: cd /bin nano conexoes-diarias.sh Adicionamos ao cron: crontab -e */1 * * * * /bin/minuto-a-minuto.sh 0 0,12 * * * /bin/conexoes-diarias.sh Mais ou menos, um exemplo de como o sistema funciona. Obs.: quando postei o exemplo aqui no VOL ficou meio bagunçado, mas no seu servidor vai ficar tudo alinhado, facilitando muito para visualizar. Monitoramento de Conexões Por Minuto : 21.02.2016_05-04-01 Monitoring Of Connections Per Minute Dom Fev 21 05:04:01 BRT 2016 1 108.162.221.104 1 112.111.185.125 1 177.119.72.164 1 187.78.0.105 1 191.5.84.131 1 8.8.8.8 1 91.212.124.11 2 189.96.241.80 2 192.168.1.1 4 177.206.102.84 5 127.0.0.1 8 185.58.207.221 14 39 0.0.0.0 1 tcp 0 0 0.0.0.0:110 0.0.0.0:* OUÇA 24507/dovecot 1 tcp 0 0 0.0.0.0:143 0.0.0.0:* OUÇA 24507/dovecot 1 tcp 0 0 0.0.0.0:2077 0.0.0.0:* OUÇA 20494/cpdavd - acce 1 tcp 0 0 0.0.0.0:2078 0.0.0.0:* OUÇA 20494/cpdavd - acce 1 tcp 0 0 0.0.0.0:2079 0.0.0.0:* OUÇA 20494/cpdavd - acce 1 tcp 0 0 0.0.0.0:2080 0.0.0.0:* OUÇA 20494/cpdavd - acce 1 tcp 0 0 0.0.0.0:2082 0.0.0.0:* OUÇA 2210/cpsrvd (SSL) - 1 tcp 0 0 0.0.0.0:2083 0.0.0.0:* OUÇA 2210/cpsrvd (SSL) - 1 tcp 0 0 0.0.0.0:2086 0.0.0.0:* OUÇA 2210/cpsrvd (SSL) - 1 tcp 0 0 0.0.0.0:2087 0.0.0.0:* OUÇA 2210/cpsrvd (SSL) - 1 tcp 0 0 0.0.0.0:2095 0.0.0.0:* OUÇA 2210/cpsrvd (SSL) - 1 tcp 0 0 0.0.0.0:2096 0.0.0.0:* OUÇA 2210/cpsrvd (SSL) - 1 tcp 0 0 0.0.0.0:21 0.0.0.0:* OUÇA 30729/pure-ftpd (SE 1 tcp 0 0 0.0.0.0:25 0.0.0.0:* OUÇA 24783/exim 1 tcp 0 0 0.0.0.0:3306 0.0.0.0:* OUÇA 16640/mysqld 1 tcp 0 0 0.0.0.0:443 0.0.0.0:* OUÇA 4169/httpd 1 tcp 0 0 0.0.0.0:465 0.0.0.0:* OUÇA 24783/exim 1 tcp 0 0 0.0.0.0:5128 0.0.0.0:* OUÇA 28541/sshd 1 tcp 0 0 0.0.0.0:587 0.0.0.0:* OUÇA 24783/exim 1 tcp 0 0 0.0.0.0:80 0.0.0.0:* OUÇA 4169/httpd 1 tcp 0 0 0.0.0.0:993 0.0.0.0:* OUÇA 24507/dovecot 1 tcp 0 0 0.0.0.0:995 0.0.0.0:* OUÇA 24507/dovecot 1 tcp 0 0 :::110 :::* OUÇA 24507/dovecot 1 tcp 0 0 127.0.0.1:2086 127.0.0.1:52214 TIME_WAIT - 1 tcp 0 0 127.0.0.1:3350 0.0.0.0:* OUÇA 1975/dbus-daemon 1 tcp 0 0 127.0.0.1:49476 127.0.0.1:953 TIME_WAIT - 1 tcp 0 0 127.0.0.1:53 0.0.0.0:* OUÇA 27813/named 1 tcp 0 0 127.0.0.1:5432 0.0.0.0:* OUÇA 8983/postmaster 1 tcp 0 0 127.0.0.1:783 0.0.0.0:* OUÇA 6128/spamd child 1 tcp 0 0 127.0.0.1:953 0.0.0.0:* OUÇA 27813/named 1 tcp 0 0 127.0.0.200:5432 0.0.0.0:* OUÇA 8983/postmaster 1 tcp 0 0 :::143 :::* OUÇA 24507/dovecot 1 tcp 0 0 ::1:5432 :::* OUÇA 8983/postmaster 1 tcp 0 0 :::21 :::* OUÇA 30729/pure-ftpd (SE 1 tcp 0 0 :::25 :::* OUÇA 24783/exim 1 tcp 0 0 :::443 :::* OUÇA 4169/httpd 1 tcp 0 0 :::465 :::* OUÇA 24783/exim 1 tcp 0 0 :::4949 :::* OUÇA 9448/munin-node 1 tcp 0 0 :::5128 :::* OUÇA 28541/sshd 1 tcp 0 0 :::587 :::* OUÇA 24783/exim 1 tcp 0 0 192.168.1.1:53 0.0.0.0:* OUÇA 27813/named 1 tcp 0 0 192.168.1.1:53 0.0.0.0:* OUÇA 27813/named 1 tcp 0 0 192.168.1.1:110 63.141.239.172:43923 ESTABELECIDA24528/dovecot/pop3- 1 tcp 0 0 192.168.1.1:32816 63.141.239.172:80 TIME_WAIT - 1 tcp 0 0 192.168.1.1:32828 63.141.239.172:80 TIME_WAIT - 1 tcp 0 0 192.168.1.1:43923 63.141.239.172:110 ESTABELECIDA- 1 tcp 0 0 192.168.1.1:53 0.0.0.0:* OUÇA 27813/named 1 tcp 0 0 192.168.1.1:80 108.162.221.104:37286 TIME_WAIT - 1 tcp 0 0 192.168.1.1:80 112.111.185.125:9740 ESTABELECIDA13957/httpd 1 tcp 0 0 192.168.1.1:80 177.206.102.84:26369 TIME_WAIT - 1 tcp 0 0 192.168.1.1:80 177.206.102.84:26370 TIME_WAIT - 1 tcp 0 0 192.168.1.1:80 177.206.102.84:26373 TIME_WAIT - 1 tcp 0 0 192.168.1.1:80 177.206.102.84:26374 TIME_WAIT - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60043 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60049 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60050 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60051 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60052 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60053 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60054 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 185.58.207.221:60056 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:80 91.212.124.11:59976 ESPERA_FIN2 - 1 tcp 0 0 192.168.1.1:53 0.0.0.0:* OUÇA 27813/named 1 tcp 0 0 192.168.1.1:110 63.141.239.174:51519 ESTABELECIDA24534/dovecot/pop3- 1 tcp 0 0 192.168.1.1:53 0.0.0.0:* OUÇA 27813/named 1 tcp 0 0 :::80 :::* OUÇA 4169/httpd 1 tcp 0 0 :::993 :::* OUÇA 24507/dovecot 1 tcp 0 0 :::995 :::* OUÇA 24507/dovecot 1 tcp 0 117612 192.168.1.1:80 187.78.0.105:27514 ESTABELECIDA23981/httpd 1 tcp 0 39440 192.168.1.1:80 191.5.84.131:55769 ESTABELECIDA29813/httpd 1 tcp 0 50 192.168.1.1:51519 63.141.239.174:110 ESTABELECIDA- 1 tcp 1 0 192.168.1.1:2086 177.119.72.164:59195 ESPERANDO_FECHAR18328/whostmgrd - s 1 tcp 1 0 192.168.1.1:2086 189.96.241.80:33878 ESPERANDO_FECHAR8760/whostmgrd - se 1 tcp 1 0 192.168.1.1:2086 189.96.241.80:33919 ESPERANDO_FECHAR25517/whostmgrd - s 1 tcp 88 0 127.0.0.1:3350 127.0.0.1:34978 ESPERANDO_FECHAR- 1 tcp 88 0 127.0.0.1:3350 127.0.0.1:34985 ESPERANDO_FECHAR- 1 tcp 88 0 127.0.0.1:3350 127.0.0.1:34986 ESPERANDO_FECHAR- 1 udp 0 0 127.0.0.1:53 0.0.0.0:* 27813/named 1 udp 0 0 ::1:41611 ::1:41611 ESTABELECIDA8983/postmaster 1 udp 0 0 192.168.1.1:53 0.0.0.0:* 27813/named 1 udp 0 0 192.168.1.1:53 0.0.0.0:* 27813/named 1 udp 0 0 192.168.1.1:53 0.0.0.0:* 27813/named 1 udp 0 0 192.168.1.1:53 0.0.0.0:* 27813/named 1 udp 0 0 192.168.1.1:53 0.0.0.0:* 27813/named 7 udp 79 tcp

Por: marcio mendes mendes


Update no-ip utilizando Shell Script

Encontrei um script parecido no Google e modifiquei algumas coisas para funcionar, serve para, caso o IP externo mude, atualizar os dados no serviço no-ip. Não é necessária a instalação do no-ip client, é de fácil modificação e entendimento, só alterar as variáveis e colocar na crontab, caso não queira que fique acessível a ninguém pode ser compilado com o SHC.

Por: William Amaral de Souza


APPSOM - Listar e reproduzir músicas, vídeos e imagens

Script para listagem e reprodução de músicas, vídeos e imagens, de maneira interativa.

Por: Renato Araújo






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts