Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Andre00
    Registrato dal
    Mar 2003
    Messaggi
    371

    source all'interno di uno script

    Avrei bisogno di crearmi uno script che lanci il comando source

    es source /etc/profile

    Il problema è che se da riga di comando da riga di comando

    source /etc/profile

    il tutto funziona..

    ma se creo uno script contenente all'interno lo stesso comando

    source /etc/profile

    salvo , rendo eseguibile lo script e lo lancio,
    il comando source all'interno dello script non viene eseguito.

    Perchè? Il comando source non riesco a trovarlo sull'harddisk.E' forse un comando interno alla shell?
    Se si come posso far sì che venga eseguito all'interno di uno script?

    GRAZIE e ciao a tutti!
    L'incubo peggiore è non poter più sognare...

  2. #2
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570
    . file

    ciao
    slack? smack!

  3. #3
    Utente di HTML.it L'avatar di Andre00
    Registrato dal
    Mar 2003
    Messaggi
    371
    no se do ./prova.sh viene eseguito lo script prova.sh contenente source /etc/profile ma source non viene eseguito

    è questo il problema....


    CIAO!
    L'incubo peggiore è non poter più sognare...

  4. #4
    Utente di HTML.it L'avatar di proffi
    Registrato dal
    Sep 2000
    Messaggi
    337
    Il tuo script deve essere

    #!/bin/sh
    source /etc/profile

    Tutti gli script di shell devono avere indicato all'inizio dopo #! il percorso dell'interprete dei comandi. Se rendi eseguibile il file ma non indichi con #!/bin/sh quale shell deve eseguire il comando non succede niente.
    Ovviamente puoi scegliere una shell a tuo piacimento, di solito si usa sh, se vuoi usare la bash scrivi

    #!/bin/bash

  5. #5
    Utente di HTML.it L'avatar di Andre00
    Registrato dal
    Mar 2003
    Messaggi
    371
    spiacente ma anche aggiungendo #!/bin/sh
    source all'interno dello script non viene eseguito

    Una cavolata e non riesco a risolverla....

    a volte le cose più semplici sono quelle meno ovvie!!

    Altri suggerimenti?
    CIAO!
    L'incubo peggiore è non poter più sognare...

  6. #6
    Originariamente inviato da Andre00
    spiacente ma anche aggiungendo #!/bin/sh
    source all'interno dello script non viene eseguito
    Cosa vuol dire esattamente "non viene eseguito"? Cosa dovrebbe succedere e non succede?
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  7. #7
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570
    Originariamente inviato da Andre00
    è questo il problema....
    Io il problema o non l'ho capito o non l'ho visto.
    codice:
    cacao74@server:~/tmp/bash$ cat cacao1.sh
    #!/bin/bash
    . cacao2.sh
    echo "cacao1.sh"
    
    cacao74@server:~/tmp/bash$ cat cacao2.sh
    # cacao2.sh
    echo "cacao2.sh"
    
    cacao74@server:~/tmp/bash$ chmod +x cacao1.sh
    
    cacao74@server:~/tmp/bash$ ./cacao1.sh
    cacao2.sh
    cacao1.sh
    Originariamente inviato da cacao74
    . file
    ciao
    slack? smack!

  8. #8
    Utente di HTML.it L'avatar di proffi
    Registrato dal
    Sep 2000
    Messaggi
    337
    Originariamente inviato da Ikitt
    Cosa vuol dire esattamente "non viene eseguito"? Cosa dovrebbe succedere e non succede?
    Infatti, me lo stavo chiedendo anch'io. Magari non dà nessun output ma viene eseguito comunque, io se ad esempio dò
    source .bashrc
    nella mia home fa quello che deve fare ma non mi dice niente.
    Prova come ha detto cacao74, fai uno script semplice tipo questo:

    #!/bin/sh
    echo ciao

    ti stampa ciao come output, echo è un comando che genera un output nella shell, source se ne sta zitto invece.
    Ma fare source /etc/profile ti serve per modificare delle variabili d'ambiente? (come il PATH?) se è così puoi vedere se ha funzionato dando
    echo $PATH
    e vedendo cosa cambia, ma magari ti serve per qualcos'altro...
    ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.