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

João Cláudio de Alcântara
aguamole

(usa Lubuntu)

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
mauricio123

(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

João Cláudio de Alcântara
aguamole

(usa Lubuntu)

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
mauricio123

(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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts