Script não funciona e não apresenta erro [RESOLVIDO]

1. Script não funciona e não apresenta erro [RESOLVIDO]

Mac
Skylen

(usa Debian)

Enviado em 17/08/2020 - 19:52h

Boa noite,

Montei um script para instalar programas. Porém quando executo ./script -h, por exemplo, ele não apresenta nenhuma saída ou se qualquer erro.


#!/bin/bash
# DECLARAÇÃO: Variáveis Locais.

local=$3

arquivo=$2

MENSAGEM_USO="
Uso: $(basename "$0") [OPÇÕES]

DESCRIÇÃO:
Instala e gerência os programas instalado pelo código fonte.

Argumentos:
-i <nome.ext> <caminho> Instala o programa.
-h Mostra esta tela de ajuda e sai.
-l Lista os programas instalados.
-s <nome> Pesquisa os aquivos instalados.
-u <nome> Desinstala o programa.
-w Exibe os caminhos dos programas instalados.
-v Mostra a versão do programa e sai.

OBSERVAÇÕES:
Os argumentos -i necessitam que sejam expresso o
nome do arquivo junto com a extenção do arquivo, além
do caminho onde está localizado o arquivo.

USO:
installsrc -i leafpad-0.8.17.tar.gz /home/mac/Downloads/

Os argumentos -u necessitam que sejam expresso o
nome do arquivo.

USO:
installsrc -u leafpad

"

arq_caminho=" ###################
#
# Autor: Mac Brener - Skylen
# Local: /home/.programasrc/logs
# Data: $("date")
#
# DESCRIÇÃO:
# Arquivo para registro dos caminhos dos programas
# instalados. Utilizado para a desinstalação e outros
# funcionabilidades do installsrc.
#
#
###################
#
# <CAMINHO>
#
"

arq_programas=" ###################
#
# Autor: Mac Brener - Skylen
# Local: /home/.programasrc/logs
# Data: $("date")
#
# DESCRIÇÃO:
# Arquivo para registro dos nomes dos programas
# instalados. Utilizado para a desinstalação e outros
# funcionabilidades do installsrc.
#
#
###################
#
# <NOME>
#
"

nome="
#####################################################

PROGRAMA: ${nome_arquivo}
DATA: `date`

"

#Variáveis para verificar os arquivos.
install=INSTALL
make=Makefile
Configure=configure

# Variáveis para a desistalação.
programa=$(grep $arquivo /home/.programasrc/logs/caminho.log | cut -d"/" -f5)
caminho_duplicado=$(grep $arquivo /home/.programasrc/logs/caminho.log | uniq -d | cut -d"/" -f5)

# DECLARAÇÃO: Funções.

desinstalar(){

if test -z "${caminho_duplicado}"; then
if [ -d "/home/.programasrc/programas/${programa}" ]; then
cd /home/.programasrc/programas/${programa}
make uninstall && make clean
echo
echo -e "Programa desinstalado com sucesso!!"
sleep 1.7
clear
exit 0

else

echo -e "Programa não encontrado."
exit 1
fi

else

cd /home/.programasrc/programas/${caminho_duplicado}
make uninstall && make clean
echo
echo -e "Programa desinstalado com sucesso!!"
sleep 1.7
clear
exit 0
fi
}

instalar() {

if [ -e "/home/.programasrc/programas/${nome_arquivo}/${Configure}" ]; then
./configure && make && make clean && make install
echo
echo "Trabalho Concluido!!!!!"
sleep 1.7
clear
exit 0

else
make && make clean && make install
echo
echo "Trabalho Concluido!!!!!"
sleep 1.7
echo
clear
exit 0
fi
}

verificar_arquivos(){

cd /home/.programasrc/programas/${nome_arquivo}
echo "${nome}" >> /home/.programasrc/logs/programas.log
echo "${pasta_fonte}/${nome_arquivo}" >> /home/.programasrc/logs/caminho.log
clear

# -> Condicional verifica se os arquivos se encontra na pasta especificada.
if [ -e "${install}" ]; then
echo "Arquivo ${install} se encontra."
echo
sleep 1
instalar

elif [ -e "${Configure}" ]; then
echo "Arquivo ${Configure} se encontra."
echo
instalar

elif [ -e "${make}" ]; then
echo "Arquivo ${make} se encontra."
sleep 1
echo
instalar

else
echo "Arquivo inexistente."
sleep 1
xdg-open ${pasta_fonte}/${nome_arquivo} # -> Abre a pasta do programa.
clear
exit 1
fi
}

extrair(){

cd ${pasta_fonte}

# Variáveis para a comparação.
for pesquisa_arq in $(ls -1 *.{tar.gz,tar,tar.bz,tar.bz2,tar.xz,zip,tgz} 2>/dev/null); do

NC=$(awk -F'.' '{print NF}' <<< ${pesquisa_arq});

if ((NC>3));then
extencao=$(cut -d'.' -f$((NC-1))- <<< ${pesquisa_arq})
nome_arquivo=$(cut -d'.' -f1,-$((NC-2)) <<< ${pesquisa_arq})

else
nome_arquivo=$(cut -d'.' -f1 <<< ${pesquisa_arq})
extencao=$(cut -d'.' -f1- <<< ${pesquisa_arq})
fi
done

if [ "${extencao}" == "tar.gz" ]; then
tar -xzvf ${pesquisa_arq} -C /home/.programasrc/programas
rm ${pesquisa_arq}
echo
echo "Extração concluida!!!"
sleep 1
verificar_arquivos

elif [ "${extencao}" == "tgz" ]; then
tar -xzvf ${pesquisa_arq} -C /home/.programasrc/programas
rm ${pesquisa_arq}
echo
echo "Extração concluida!!!"
sleep 1
verificar_arquivos

elif [ "${extencao}" == "tar.bz" ]; then
tar -xjvf ${pesquisa_arq} -C /home/.programasrc/programas
rm ${pesquisa_arq}
echo
echo "Extração concluida!!!"
sleep 1
verificar_arquivos

elif [ "${extencao}" == "tar.bz2" ]; then
tar -jxvf ${pesquisa_arq} -C /home/.programasrc/programas
rm ${pesquisa_arq}
echo
echo "Extração concluida!!!"
sleep 1
verificar_arquivos

elif [ "${extencao}" == "tar.xz" ]; then
tar -xJvf ${pesquisa_arq} -C /home/.programasrc/programas
rm ${pesquisa_arq}
echo
echo "Extração concluida!!!"
sleep 1
verificar_arquivos

elif [ "${extencao}" == "zip" ]; then
cd /home/.programasrc/programas
unzip -v ${pesquisa_arq}
rm ${pesquisa_arq}
echo
echo "Extração concluida!!!"
sleep 1
verificar_arquivos

elif [ "${extencao}" == "tar" ]; then
tar -xvf ${pesquisa_arq} -C /home/.programasrc/programas
rm ${pesquisa_arq}
echo
echo "Extração concluida!!!"
sleep 1
verificar_arquivos

else
clear
echo "Ouve algum erro!!!"
echo
echo " :("
echo
exit 1
fi
}

copiar_arquivo(){

if ! [ -e ${pasta_fonte}/${arquivo} ]; then
cp -r ${local}/${arquivo} /home/.programasrc/fontes
extrair

else

echo -e "Arquivo existente!!"
echo -e "Començando extração..."
extrair
fi
}

# Função verifica a não exitência das pastas e arquivos.
verificar_dados(){

if [ `whoami` != 'root' ]; then
echo "Usuário root não está logado."
echo "Saindo..."
fi

# Variável ficará salva no arquivo .bashrc usado na desistalação.
# Condicinal verifica se não existe a variável.
if ! grep pasta_fonte /root/.bashrc >> /dev/null; then
echo "# Variáveis usadas para a execução do programa installsrc." >> /root/.bashrc
echo "# Mais informações digite no terminal: installsrc [ -h ]" >> /root/.bashrc
echo "export pasta_fonte=/home/.programasrc/fontes" >> /root/.bashrc
echo "Variável criada!"
fi

# Local ondes os programas instalados irão ficar.
# Variável ficará salva no arquivo .bashrc usado na desistalação.
# Condicinal verifica se não existe a variável.
if ! grep pasta_progrmas /root/.bashrc >> /dev/null; then
echo "export pasta_programas=/home/.programasrc/programas" >> /root/.bashrc
echo "Variável criada!"
fi

if [ ! -d "/home/.programasrc" ]; then
echo "Criando a pasta: programasrc"
sleep 0.7
mkdir -m 775 /home/.programasrc
fi

if [ ! -d "/home/.programasrc/programas" ]; then
echo "Criando a pasta: programas"
sleep 0.6
mkdir -m 775 /home/.programasrc/programas
fi

if [ ! -d "/home/.programasrc/fontes" ]; then
echo "Criando a pasta: fontes"
sleep 0.6
mkdir -m 775 /home/.programasrc/fontes
fi

if [ ! -d "/home/.programasrc/logs" ]; then
echo "Criando a pasta: logs"
sleep 0.6
mkdir -m 775 /home/.programasrc/logs
fi

if [ ! -e "/home/.programasrc/logs/programas.log" ]; then
echo "Criando a arquivo: programas.log"
sleep 0.7
echo "${arq_programas}" >> /home/.programasrc/logs/programas.log
fi

if [ ! -e "/home/.programasrc/logs/caminho.log" ]; then
echo "Criando a arquivo: caminho.log"
echo "${arq_caminho}" >> /home/.programasrc/logs/caminho.log
sleep 0.7
fi

if [ ! -e "/root/.bashrc" ]; then
echo "Criando a arquivo: bashrc"
sleep 0.7
fi

if ! [ -e ${pasta_fonte}/${arquivo} ]; then
cp -r ${local}/${arquivo} /home/.programasrc/fontes
extrair

else

echo -e "Arquivo existente!!"
echo -e "Començando extração..."
extrair
fi
}

###################

# Chama a ajuda.
if test -z "$1"; then
echo "${MENSAGEM_USO}"
exit 0

else
# Gerência os argumentos.
while test -z "$1"
do
case "$1" in

-i)
verificar_dados
;;

-h)
echo "${MENSAGEM_USO}"
exit 0
;;

-l)
clear
echo
cat /home/.programasrc/logs/programas.log
echo
exit 0
;;

-s)
clear
echo
grep ${arquivo} /home/.programasrc/logs/programas.log
echo
exit 0
;;

-u)
desinstalar
;;

-w)
clear
echo
cat /home/.programasrc/logs/caminho.log
echo
exit 0
;;

-v)
echo -n $(basename "$0")
# Extrai a versão diretamente dos cabeçalhos do programa
grep '^# Versão ' "$0" | tail -1 | cut -d : -f 1 | tr -d \#
exit 0
;;

*)
echo Opção inválida: "$1"
exit 1
;;

esac

done
fi


Agradeço pela ajuda!!


  


2. Re: Script não funciona e não apresenta erro

aguamole
aguamole

(usa KUbuntu)

Enviado em 17/08/2020 - 21:04h

Você esta tentando chamar array que não esta definida varias vezes.
${pasta_fonte} 
Seu script já esta grande sugiro você usar o programinha: Shellcheck
Eu usei ele para achar o problema no seu script sem ler ele todo.
Onde chega na primeira chamada de array ele diz "^-- SC2154: pasta_fonte is referenced but not assigned."
Tchau ^^

CPU i5-8400 GTX 750 SofRaid 4xSSD 16GB DDR4 mesmo assim uso Lubuntu.


3. Re: Script não funciona e não apresenta erro [RESOLVIDO]

Mauricio Ferrari
maurixnovatrento

(usa Slackware)

Enviado em 17/08/2020 - 21:25h


shellcheck. Nem conhecia. Vou ver se tem no repo do mint.

___________________________________
Conhecimento não se Leva para o Túmulo.


4. Re: Script não funciona e não apresenta erro

aguamole
aguamole

(usa KUbuntu)

Enviado em 17/08/2020 - 22:26h

mauricio123 escreveu:


shellcheck. Nem conhecia. Vou ver se tem no repo do mint.

___________________________________
Conhecimento não se Leva para o Túmulo.


A que você pode experimentar sem instalar: https://www.shellcheck.net/
Click em "Load random exemples" para você receber exemplo de script.
Ou você pode colar o script shell do amigo acima ele vai fazer varias recomendação em verde e chamar a atenção em amarelo e erros graves são em vermelho.

CPU i5-8400 GTX 750 SofRaid 4xSSD 16GB DDR4 mesmo assim uso Lubuntu.


5. Re: Script não funciona e não apresenta erro [RESOLVIDO]

Carlos A. P. Cunha
Carlos_Cunha

(usa Linux Mint)

Enviado em 17/08/2020 - 22:46h

mauricio123 escreveu:


shellcheck. Nem conhecia. Vou ver se tem no repo do mint.

___________________________________
Conhecimento não se Leva para o Túmulo.


Também, achei muito legal!!!

#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#



6. Re: Script não funciona e não apresenta erro [RESOLVIDO]

Carlos A. P. Cunha
Carlos_Cunha

(usa Linux Mint)

Enviado em 17/08/2020 - 22:51h

Você pode executar ele em modo Debug para ver o erro/problema.


bash -x script.sh


#-------------------------------------------------------------------------------------#
"Falar é fácil, me mostre o código." - Linus Torvalds
#-------------------------------------------------------------------------------------#



7. Re: Script não funciona e não apresenta erro [RESOLVIDO]

Mauricio Ferrari
maurixnovatrento

(usa Slackware)

Enviado em 17/08/2020 - 23:05h


aguamole escreveu:

mauricio123 escreveu:


shellcheck. Nem conhecia. Vou ver se tem no repo do mint.

___________________________________
Conhecimento não se Leva para o Túmulo.


A que você pode experimentar sem instalar: https://www.shellcheck.net/
Click em "Load random exemples" para você receber exemplo de script.
Ou você pode colar o script shell do amigo acima ele vai fazer varias recomendação em verde e chamar a atenção em amarelo e erros graves são em vermelho.

CPU i5-8400 GTX 750 SofRaid 4xSSD 16GB DDR4 mesmo assim uso Lubuntu.


ok vou testar.

___________________________________
Conhecimento não se Leva para o Túmulo.


8. Re: Script não funciona e não apresenta erro

Mac
Skylen

(usa Debian)

Enviado em 22/08/2020 - 16:23h

Boa tarde,

Bom o que eu fiz:
1) Defini a variável pasta_fonte. Alterei o nome para PFONTE.
2) Tentei rodar o comando bash -x não apresentou nada na primeira vez.
3) Tentei no shellcheck, apresentou alguns error, mas aparentemente não prejudiciais para o código
a) Fiz algumas alterações sugeridas, mas depois desfiz algumas.
A maiorias dos erros era o uso do `` e aspas duplas nas variáveis.
4) Tive a ideia de colocar #!/bin/bash -x, assim como com o comando bash -x
apresentou a mesma saída de erro. Porém não estou conseguindo achar a solução.

#!/bin/bash
#

# DECLARAÇÃO: Variáveis Locais.

local="$3"

arquivo="$2"

PFONTE="/home/.programasrc/fontes"

data=$(date)

MENSAGEM_USO="
Uso: $(basename "$0") [OPÇÕES]

DESCRIÇÃO:
Instala e gerência os programas instalado pelo código fonte.

Argumentos:
-i <nome.ext> <caminho> Instala o programa.
-h Mostra esta tela de ajuda e sai.
-l Lista os programas instalados.
-s <nome> Pesquisa os aquivos instalados.
-u <nome> Desinstala o programa.
-w Exibe os caminhos dos programas instalados.
-v Mostra a versão do programa e sai.

OBSERVAÇÕES:
Os argumentos -i necessitam que sejam expresso o
nome do arquivo junto com a extenção do arquivo, além
do caminho onde está localizado o arquivo.

USO:
installsrc -i leafpad-0.8.17.tar.gz /home/mac/Downloads/

Os argumentos -u necessitam que sejam expresso o
nome do arquivo.

USO:
installsrc -u leafpad"


arq_caminho=" ###################
#
# Autor: Mac Brener - Skylen
# Local: /home/.programasrc/logs
# Data: `date`
#
# DESCRIÇÃO:
# Arquivo para registro dos caminhos dos programas
# instalados. Utilizado para a desinstalação e outros
# funcionabilidades do installsrc.
#
#
###################
#
# <CAMINHO>
#
"

arq_programas=" ###################
#
# Autor: Mac Brener - Skylen
# Local: /home/.programasrc/logs
# Data: `date`
#
# DESCRIÇÃO:
# Arquivo para registro dos nomes dos programas
# instalados. Utilizado para a desinstalação e outros
# funcionabilidades do installsrc.
#
#
###################
#
# <NOME>
#
"

nome="
#####################################################

PROGRAMA: ${nome_arquivo}
DATA: `date`

"

#Variáveis para verificar os arquivos.
install=INSTALL
make=Makefile
Configure=configure

# DECLARAÇÃO: Funções.

desinstalar(){

# Variáveis para a desistalação.
programa=$(grep "${arquivo}" /home/.programasrc/logs/caminho.log | cut -d"/" -f5)
caminho_duplicado=$(grep "${arquivo}" /home/.programasrc/logs/caminho.log | uniq -d | cut -d"/" -f5)


if test -z "${caminho_duplicado}"; then
if [ -d "/home/.programasrc/programas/${programa}" ]; then
cd /home/.programasrc/programas/"${programa}"
make uninstall && make clean
echo
echo -e "Programa desinstalado com sucesso!!"
sleep 1.7
clear
exit 0

else

echo -e "Programa não encontrado."
exit 1
fi

else

cd /home/.programasrc/programas/"${caminho_duplicado}"
make uninstall && make clean
echo
echo -e "Programa desinstalado com sucesso!!"
sleep 1.7
clear
exit 0
fi
}

instalar() {

if [ -e "/home/.programasrc/programas/${nome_arquivo}/${Configure}" ]; then
./configure && make && make clean && make install
echo
echo "Trabalho Concluido!!!!!"
sleep 1.7
clear
exit 0

else
make && make clean && make install
echo
echo "Trabalho Concluido!!!!!"
sleep 1.7
echo
clear
exit 0
fi
}

verificar_arquivos(){

cd /home/.programasrc/programas/"${nome_arquivo}" || exit
echo "${nome}" >> /home/.programasrc/logs/programas.log
echo "${PFONTE}/${nome_arquivo}" >> /home/.programasrc/logs/caminho.log
clear

# -> Condicional verifica se os arquivos se encontra na pasta especificada.
if [ -e "${install}" ]; then
echo "Arquivo ${install} se encontra."
echo
sleep 1
instalar

elif [ -e "${Configure}" ]; then
echo "Arquivo ${Configure} se encontra."
echo
instalar

elif [ -e "${make}" ]; then
echo "Arquivo ${make} se encontra."
sleep 1
echo
instalar

else
echo "Arquivo inexistente."
sleep 1
xdg-open ${PFONTE}/${nome_arquivo} # -> Abre a pasta do programa.
clear
exit 1
fi
}

extrair(){

cd ${PFONTE}

# Variáveis para a comparação.
for pesquisa_arq in $(ls -1 *.{tar.gz,"tar",tar.bz,tar.bz2,tar.xz,"zip",tgz} 2>/dev/null); do

NC=$(awk -F'.' '{print NF}' <<< ${pesquisa_arq});

if ((NC>3));then
extencao=$(cut -d'.' -f$((NC-1))- <<< ${pesquisa_arq})
nome_arquivo=$(cut -d'.' -f1,-$((NC-2)) <<< ${pesquisa_arq})

else
nome_arquivo=$(cut -d'.' -f1 <<< ${pesquisa_arq})
extencao=$(cut -d'.' -f1- <<< ${pesquisa_arq})
fi
done

if [ "${extencao}" == "tar.gz" ]; then
tar -xzvf ${pesquisa_arq} -C /home/.programasrc/programas
rm ${pesquisa_arq}
echo
echo "Extração concluida!!!"
sleep 1
verificar_arquivos

elif [ "${extencao}" == "tgz" ]; then
tar -xzvf ${pesquisa_arq} -C /home/.programasrc/programas
rm ${pesquisa_arq}
echo
echo "Extração concluida!!!"
sleep 1
verificar_arquivos

elif [ "${extencao}" == "tar.bz" ]; then
tar -xjvf ${pesquisa_arq} -C /home/.programasrc/programas
rm ${pesquisa_arq}
echo
echo "Extração concluida!!!"
sleep 1
verificar_arquivos

elif [ "${extencao}" == "tar.bz2" ]; then
tar -jxvf ${pesquisa_arq} -C /home/.programasrc/programas
rm ${pesquisa_arq}
echo
echo "Extração concluida!!!"
sleep 1
verificar_arquivos

elif [ "${extencao}" == "tar.xz" ]; then
tar -xJvf ${pesquisa_arq} -C /home/.programasrc/programas
rm ${pesquisa_arq}
echo
echo "Extração concluida!!!"
sleep 1
verificar_arquivos

elif [ "${extencao}" == "zip" ]; then3
cd /home/.programasrc/programas/
unzip -v ${pesquisa_arq}
rm ${pesquisa_arq}
echo
echo "Extração concluida!!!"
sleep 1
verificar_arquivos

elif [ "${extencao}" == "tar" ]; then
tar -xvf ${pesquisa_arq} -C /home/.programasrc/programas
rm ${pesquisa_arq}
echo
echo "Extração concluida!!!"
sleep 1
verificar_arquivos

else
clear
echo "Ouve algum erro!!!"
echo
echo " :("
echo
exit 1
fi
}

copiar_arquivo(){

if ! [ -e ${PFONTE}/${arquivo} ]; then
cp -r ${local}/${arquivo} /home/.programasrc/fontes
extrair

else

echo -e "Arquivo existente!!"
echo -e "Començando extração..."
extrair
fi
}

# Função verifica a não exitência das pastas e arquivos.
verificar_dados(){

if [ $(whoami) != 'root' ]; then
echo "Usuário root não está logado."
echo "Saindo..."
fi

if [ ! -d "/home/.programasrc" ]; then
echo "Criando a pasta: programasrc"
sleep 0.7
mkdir -m 775 /home/.programasrc
fi

if [ ! -d "/home/.programasrc/programas" ]; then
echo "Criando a pasta: programas"
sleep 0.6
mkdir -m 775 /home/.programasrc/programas
fi

if [ ! -d "/home/.programasrc/fontes" ]; then
echo "Criando a pasta: fontes"
sleep 0.6
mkdir -m 775 /home/.programasrc/fontes
fi

if [ ! -d "/home/.programasrc/logs" ]; then
echo "Criando a pasta: logs"
sleep 0.6
mkdir -m 775 /home/.programasrc/logs
fi

if [ ! -e "/home/.programasrc/logs/programas.log" ]; then
echo "Criando a arquivo: programas.log"
sleep 0.7
echo "${arq_programas}" >> /home/.programasrc/logs/programas.log
fi

if [ ! -e "/home/.programasrc/logs/caminho.log" ]; then
echo "Criando a arquivo: caminho.log"
echo "${arq_caminho}" >> /home/.programasrc/logs/caminho.log
sleep 0.7
fi

if [ ! -e "/root/.bashrc" ]; then
echo "Criando a arquivo: bashrc"
sleep 0.7
fi

if ! [ -e ${PFONTE}/${arquivo} ]; then
cp -r ${local}/${arquivo} /home/.programasrc/fontes
extrair

else

echo -e "Arquivo existente!!"
echo -e "Començando extração..."
extrair
fi
}

###################

# Chama a ajuda.
if test -z "$1"; then
echo "${MENSAGEM_USO}"
exit 0

else
# Gerência os argumentos.
while test -z "$1"
do
case "$1" in

-i)
verificar_dados
;;

-h)
echo "${MENSAGEM_USO}"
exit 0
;;

-l)
clear
echo
cat /home/.programasrc/logs/programas.log
echo
exit 0
;;

-s)
clear
echo
grep "${arquivo}" /home/.programasrc/logs/programas.log
echo
exit 0
;;

-u)
desinstalar
;;

-w)
clear
echo
cat /home/.programasrc/logs/caminho.log
echo
exit 0
;;

-v)
#echo -n "$(basename $0)"
# Extrai a versão diretamente dos cabeçalhos do programa
#grep '^# Versão ' "$0" | tail -1 | cut -d : -f 1 | tr -d \#
#exit 0
;;

*)
echo Opção inválida: "$1"
exit 1
;;

esac

done
fi



Nota: A linha não será essa da imagem, pois remove alguns comentários para reduzir algumas linhas para colocar aqui.


9. Re: Script não funciona e não apresenta erro

lurke
thelurkening

(usa Outra)

Enviado em 22/08/2020 - 16:43h

zzzzz


10. Re: Script não funciona e não apresenta erro

Mac
Skylen

(usa Debian)

Enviado em 22/08/2020 - 17:07h

Teste a sua ideia, porém não deu certo o bash apresenta erro no local onde foi acionando a lista.



11. Re: Script não funciona e não apresenta erro

lurke
thelurkening

(usa Outra)

Enviado em 22/08/2020 - 17:34h

.


12. Re: Script não funciona e não apresenta erro [RESOLVIDO]

Mac
Skylen

(usa Debian)

Enviado em 22/08/2020 - 17:47h

Não é necessário do laço for, o comando ls e nem a lista.

A entrada do comando é essa:

./installsrc -i leafpad-0.8.18.1.tar.gz /home/mac/Downloads/


No código eu tenho eu tenho essa variável:

arguivo="$2"


Aquela parte do código só separa o nome do arquivo e a extensão, só que antes eu precisava
ler o arquivo dentro da pasta, porém agora já tenho o nome do arquivo.
A condicional separava quando .tar.gz >> com dois pontos
A condicional separava quando .tar >> e com um pontos

Agora só preciso reproduzir isso...




01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts