Ajuda com script

Boa galera blz !? seguinte eu fiz esse script pra automatizar a instalação do aplicativo kodi e ja realizar o download dos Repositórios , mais to com um problema quando uso a variavel $USER pra criar o diretório e fazer a movimentação dos arquivos baixados no diretório criado porem na hora que rodo o script ele faz a instalção normal tudo ok mais na hora de criar o arquivo ele ta tentando criar no seguinte local home/root/Downloads/Reposiórios-kodi mais o correto no meu caso o usuário é victor era pra ser home/victor/Downloads/Reposiórios-kodi nao estou entendendo o pq disso to quebrando a cabeça como isso vcs podem me ajudar !?

#!/bin/bash
###############################################

Obrigado por Utilizar este pequeno Script

Autor : Victor de Farias Moreira

Data : 06/062019

###############################################
KODIREPO=“sudo apt-get install software-properties-common”
KODIREPO2=“sudo add-apt-repository ppa:team-xbmc/ppa”
UPDATE=“sudo apt-get update”
KODIINS=“sudo apt-get install kodi”
NOVODIR=“mkdir home/$USER/Downloads/Reposiórios-kodi”
DIR=“home/$USER/Downloads/Reposiórios-kodi”
MOV=“mv repo.TWTUTORIAIS-1.3.zip home/$USER/Downloads/Reposiórios-kodi”
MOV2=“mv repo.vikings.zip home/$USER/Downloads/Reposiórios-kodi”

INSTALAÇÃO DO KODI

echo "
##################################################

_ __ _ _ ___ _ _ _

#| |/ /___ | () | | __ | | __ | | |#
#| ’ // _ \ / _ | | | || _ / __| __/ _ | | |#
#| . \ (
) | (
| | | | || | | _
\ || (| | | |#
#|
|__
/ _,|| ||| ||/__,|||#

By: Victor Farias Moreira

##################################################"
$KODIREPO
$KODIREPO2
$UPDATE
$KODIINS
echo “################################”
echo “# kodi instalado com sucesso ! #”
echo “################################”

REPOSITÓRIOS DOS ADDONS

$NOVODIR
wget http://twtutoriaisrepo.000webhostapp.com/RepoTWTutoriais/Repository/repo.TWTUTORIAIS-1.3.zip -O $DIR
wget http://sokodi.net/repo/repo.vikings.zip -O $DIR
$MOV
$MOV2

echo “#######################################################################”
echo “Baixando Rpositorios Add-ons OBS arquivos salvos em /home/$USER/Downloads/Repositórios-kodi”
echo “Repositórios TWTUTORIAIS e VIKINGS Baixados”
echo “#######################################################################”

Não seria pelo fato de estar executando o script como root?

Vc pode fazer o seguinte: Antes de rodar os comandos armazenar seu usuário numa variavel e chamar essa variavel no lugar de $USER.
ex: usuario=meu_usuario
$usuario

Você provavelmente está executando como root seu script já pede acesso root coloque isso abaixo de #!/bin/bash:

if [ "$EUID" = "0" ]; then
  echo "Não execute esse script como root" 
  echo "o script irá pedir acesso root quando for necessário"
  exit 1
fi

Se me permite, tem alguns detalhes que podem causar futuros erros no seu script:

DIR=“home/$USER/Downloads/Reposiórios-kodi”
     ^      ^
     1      2

O script só será executado com sucesso se o terminal estiver na raiz do sistema, ao invés disso faça assim:

PASTA_HOME=$(readlink -f ~)
REPOSITORIO_KODI="$PASTA_HOME/Downloads/Reposiórios-kodi"
NOVODIR="mkdir -p $REPOSITORIO_KODI"
DIR="$REPOSITORIO_KODI"
MOV="mv repo.TWTUTORIAIS-1.3.zip $REPOSITORIO_KODI"
MOV2="mv repo.vikings.zip $REPOSITORIO_KODI"

Isso garante a legibilidade do código e que os comando não dependam do usurário root já que você estava baixando no diretório /

Note que eu adicionei um -p em NOVODIR isso garante que a pasta seja criadase não existir e que o script não apresente erros se o script já existir


2 curtidas

blz natanael vou fazer conforme vc me descreveu ! , sou novo em fazer script

na vdd nao eu dou a permisao chmod +x ./kodi_install.sh
depois executo normalmente sudo ./kodi_install.sh

Você está executando como root (sudo)

Isso faz com que as variáveis USER e HOME faz com que sejam definidas para o usuário root

Como seu script já pede acesso root:

O certo seria executar assim:

./kodi_install.sh

1 curtida

eu parei msm na analisar isso ontem rs mais agora o erro que nao sei o destino do donwload … to tentando descobrir aqui o segredo de tostines xD

1 curtida

Se você aplicou o que eu disse ficam aqui: