Ajuda com um script [RESOLVIDO]

1. Ajuda com um script [RESOLVIDO]

Rafael da Cunha Rosa
kaltudba

(usa Debian)

Enviado em 03/05/2021 - 21:08h

Boa noite, galera!

Preciso da ajuda de vocês com um script.

preciso criar um script que retorna data no formato ANO.MES.DIA e depois alterar para gerar um arquivo cujo prefixo é configurado numa variável e o nome do arquivo é obtido de um argumento do script...

por exemplo:
$ script_data.sh coleta_indicadores
Gerado arquivo 2021.01.01_coleta_indicadores.txt

fiz o seguinte:
cat> script_date.sh
#!/bin/sh
date=$(date "+%Y.%m.%d")
touch $date"_"$1".txt"

após isso, chamo o arquivo com: cat script_date.sh
e tento rodar um chmod +x script_date.sh pra alterar a permissão...
mais quando tento rodar ./script_date.sh coleta_indicadores ele retorna erro: bash: ./script_date.sh: /bin/sh: bad interpreter: Text file busy.

me ajudem

estou usando Virtual Box com Debian


  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 04/05/2021 - 00:52h

kaltudba escreveu:

Boa noite, galera!

Preciso da ajuda de vocês com um script.

preciso criar um script que retorna data no formato ANO.MES.DIA e depois alterar para gerar um arquivo cujo prefixo é configurado numa variável e o nome do arquivo é obtido de um argumento do script...

por exemplo:
$ script_data.sh coleta_indicadores
Gerado arquivo 2021.01.01_coleta_indicadores.txt

fiz o seguinte:
cat> script_date.sh
#!/bin/sh
date=$(date "+%Y.%m.%d")
touch $date"_"$1".txt"

após isso, chamo o arquivo com: cat script_date.sh
e tento rodar um chmod +x script_date.sh pra alterar a permissão...
mais quando tento rodar ./script_date.sh coleta_indicadores ele retorna erro: bash: ./script_date.sh: /bin/sh: bad interpreter: Text file busy.
me ajudem
estou usando Virtual Box com Debian

Pelo erro apresentado, o caminho do interpretador "/bin/sh", está errado.
para saber o caminho, faça:
which sh
/usr/bin/sh
#-----------------------------------------------------------------------------------------------------------#
Segue sugestão:
echo '#!/usr/bin/env bash
[[ $1 == "" ]] && exit 1 || arg="$1"
dma=$(date "+%Y.%m.%d")
arq=${dma}_${arg}.txt
touch ${arq}
ls -l ${arq} &>/dev/null && echo "${arq} criado com sucesso" || echo "not_ok" ' > teste.sh

chmod +x teste.sh
Para executar:
./teste.sh coleta_indicadores

______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.


______________________________________________________________________


3. Re: Ajuda com um script [RESOLVIDO]

Rafael da Cunha Rosa
kaltudba

(usa Debian)

Enviado em 04/05/2021 - 08:17h


msoliver escreveu:

kaltudba escreveu:

Boa noite, galera!

Preciso da ajuda de vocês com um script.

preciso criar um script que retorna data no formato ANO.MES.DIA e depois alterar para gerar um arquivo cujo prefixo é configurado numa variável e o nome do arquivo é obtido de um argumento do script...

por exemplo:
$ script_data.sh coleta_indicadores
Gerado arquivo 2021.01.01_coleta_indicadores.txt

fiz o seguinte:
cat> script_date.sh
#!/bin/sh
date=$(date "+%Y.%m.%d")
touch $date"_"$1".txt"

após isso, chamo o arquivo com: cat script_date.sh
e tento rodar um chmod +x script_date.sh pra alterar a permissão...
mais quando tento rodar ./script_date.sh coleta_indicadores ele retorna erro: bash: ./script_date.sh: /bin/sh: bad interpreter: Text file busy.
me ajudem
estou usando Virtual Box com Debian

Pelo erro apresentado, o caminho do interpretado "/bin/sh", está errado.
para saber o caminho, faça:
which sh
/usr/bin/sh
#-----------------------------------------------------------------------------------------------------------#
Segue sugestão:
echo '#!/usr/bin/env bash
[[ $1 == "" ]] && exit 1 || arg="$1"
dma=$(date "+%Y.%m.%d")
arq=${dma}_${arg}.txt
touch ${arq}
ls -l ${arq} &>/dev/null && echo "${arq} criado com sucesso" || echo "not_ok" ' > teste.sh

chmod +x teste.sh
Para executar:
./teste.sh coleta_indicadores

______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.


______________________________________________________________________


Muito Obriado! o arquivo foi gerado.


4. Re: Ajuda com um script [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 04/05/2021 - 15:45h


kaltudba escreveu:


msoliver escreveu:

kaltudba escreveu:

Boa noite, galera!

Preciso da ajuda de vocês com um script.

preciso criar um script que retorna data no formato ANO.MES.DIA e depois alterar para gerar um arquivo cujo prefixo é configurado numa variável e o nome do arquivo é obtido de um argumento do script...

por exemplo:
$ script_data.sh coleta_indicadores
Gerado arquivo 2021.01.01_coleta_indicadores.txt

fiz o seguinte:
cat> script_date.sh
#!/bin/sh
date=$(date "+%Y.%m.%d")
touch $date"_"$1".txt"

após isso, chamo o arquivo com: cat script_date.sh
e tento rodar um chmod +x script_date.sh pra alterar a permissão...
mais quando tento rodar ./script_date.sh coleta_indicadores ele retorna erro: bash: ./script_date.sh: /bin/sh: bad interpreter: Text file busy.
me ajudem
estou usando Virtual Box com Debian

Pelo erro apresentado, o caminho do interpretado "/bin/sh", está errado.
para saber o caminho, faça:
which sh
/usr/bin/sh
#-----------------------------------------------------------------------------------------------------------#
Segue sugestão:
echo '#!/usr/bin/env bash
[[ $1 == "" ]] && exit 1 || arg="$1"
dma=$(date "+%Y.%m.%d")
arq=${dma}_${arg}.txt
touch ${arq}
ls -l ${arq} &>/dev/null && echo "${arq} criado com sucesso" || echo "not_ok" ' > teste.sh

chmod +x teste.sh
Para executar:
./teste.sh coleta_indicadores

______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.


______________________________________________________________________


Muito Obriado! o arquivo foi gerado.

Por nada!
Em tempo....
Não é necessário, usar o echo para gerar o script.....
Abra um editor de textos de sua preferência,
Escreva o script, salve-o, e de permissão de execução....
Pronto.


______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts