+ Responder ao Tópico



  1. #1

    Padrão variaveis em dois scripts diferentes

    Pessoal,

    Gostaria de utilizar uma variável que está em um script em outro script mas estou tendo dificuldades. Vou explicar o que quero fazer e se alguém souber uma maneira mais fácil ficaria agradecido pela ajuda!
    Seguinte, Fiz um script para criar usuários linux/samba e está rodando legalzinho, mas agora quero dar uma melhorada e criar um outro script para gerar uns arquivos e pastas para o usuários criado. Então preciso exportar as variáveis dos script1 para o script2, que seriam o login do usuário e o grupo que ele pertence. Como fazer isto?
    Já tentei:
    Código :
    usuario='login_do_usuario';
    echo $usuario; #(para visualizar o valor de usuario)
    set usuario=$usuario;
    Desde já agradeço qq. ajuda.

    Abraços.

  2. #2

    Padrão Re: variaveis em dois scripts diferentes

    vc pode chamar o 2o script, a partir do primeiro, passando usuário como parâmetro..

    exec 2o.script.sh $usuario

    no segundo script (o chamado):

    nome_da_criatura=$1

    $1, óbvio, é o parâmetro enviado pelo primeiro script.

  3. #3

    Padrão Re: variaveis em dois scripts diferentes

    ora, se o seu script está a rodar com /bin/sh ou /bin/bash, para vc setar as variaveis, vc usa o "export" e nao o "set", por exemplo

    export VARIAVEL="linux"

    echo $VARIAVEL


    até aqui tudo bem. Utilizar variaveis de ambiente (aquelas que vc faz um "export") pois podem ser perigosas, conter passwords ou outro tipo de dados sensiveis.. eu aconselho vc ao invez de usar este tipo de variaveis, usar um arquivo com as variaveis, pois é, a verdade é que o shell script tb dá para fazer o abencoado "include()" muito conheçido no PHP e no C/C++, embora muita gente desconheça este facto e acabe por utilizar outros metodos. veja:

    ----variaveis.sh------
    USER="root"
    UID="0"
    ------------------------

    agora segue o script que irá fazer o include()

    -----script.sh-------
    # o ponto "." é o responsavel pelo include
    # (NOTA: ./ é apenas o caminho do arquivo das variaveis, vc pode usar outro
    # caminho, por exemplo ". /etc/variaveis.sh" mas nc esqueça o primeiro ponto!)

    . ./variaveis.sh
    echo $USER
    echo $UID
    ---------------------

    Espero que ajude colega, Um abraço.

  4. #4

    Padrão

    cara, q massa, facilitou violentamente minha vida, tentei o export aqui, não tava funfando, mas esse include deu boa! vlw