Consenso all'uso dei cookies

SITO1 -- SITO2 -- Forum1 -- CercaGlobale -- Informativa su Cookie e Privacy


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
lanciare script da qualsiasi posizione
#1
Ciao,
Ho creato una cartella contenete i miei script. Da terminale vorrei lanciare gli script contenuti in questa cartella da qualsiasi posizione, come posso fare?

Grazie
Antonio
Cita messaggio
Grazie da:
#2
Io non sono esperto di script, comunque, se vuoi che qualcuno ti dica qualcosa, devi spiegarti meglio, almeno, io non ho capito cosa intendi
Personalizzare Grub


Nu se peu sciuscià e sciurbì





Cita messaggio
Grazie da:
#3
Se il file è eseguibile, basta il percorso.
Cita messaggio
Grazie da:
#4
Ho risolto da solo.
Ho trovato una discussione (askubuntu) dove consiglia di creare un symlink con il seguente comando.
Codice:
sudo ln -s /home/antonio/Documenti/Script/manutenzione.sh /usr/local/bin/manutenzione.sh

Condivido con la comunità per trovare nuove soluzioni.
Antonio
Cita messaggio
Grazie da:
#5
Ciao a tutti.
Antoniocnn esistono sicuramente diverse soluzioni, che dipendono sia dal sistema operativo in uso sia da quali utenti devono poter usare lo script (solo quello corrente o tutti gli utenti).

Poi considera che la soluzione da te adottata (ma funziona anche quella suggerita da zafran) ti consente di eseguire solo lo script linkato e non tutti gli script contenuti nella cartella che hai creato (come da te richiesto).
Con il collegamento hai inserito il solo manutenzione.sh in /usr/local/bin (una cartella del PATH), mentre per poter usare tutti gli script da te creati sarebbe meglio modificare la variabile PATH inserendo l'intera cartella /home/antonio/Documenti/Script.

Cerco di chiarire.
La variabile PATH indica tutti i percorsi in cui la shell cerca i programmi, puoi vedere tali percorsi (separati tra loro da ":") con:
Codice:
echo $PATH

Supponendo che tu sia su ubuntu, per inserire un percorso in PATH dovresti editare il file .bashrc (file nascosto della tua home) inserendo alla fine una delle seguenti righe:
export PATH=$PATH:/home/antonio/Documenti/Script  (se vuoi appendere alla fine)
oppure
export PATH=/home/antonio/Documenti/Script${PATH:+:${PATH}}   (se vuoi inserire all'inizio).

Poi salvi, chiudi il file e dai un
Codice:
source ~/.bashrc

Quindi verifica nuovamente con echo $PATH e se tutto quadra dovresti poter avviare da un terminale loscriptchevuoi.sh da qualsiasi posizione.

Ciao a tutti
just my two cents
A volte ritorna on line il mio blog
Cita messaggio
#6
Grazie Max4me,
la tua spiegazione è stata esaustiva e facilmente applicabile.
Hai compreso a pieno la mia richiesta.

Grazie mille
Antonio
Cita messaggio
Grazie da:
#7
Ti bastava copiare lo scirpt, completo del suo percorso direttamente in /usr/local/bin.
Esempio: cp "/$HOME/prove_temp/script_prova.sh" "/usr/local/bin/"
Cita messaggio
Grazie da:
#8
sotto ubuntu/debian puoi creare un file ".bash_aliases" nella tua home ed inserire gli alias agli script in questa forma
Codice:
alias nomescript='percorso-completo_allo_script'
ad es.
alias pippo='/home/tua_home/cartella_script/pippo.sh'
in questo modo in qualunque posizione tu ti trovi da terminale puoi lanciare lo script semplicemente scrivendo il suo nome e dando invio.
per funzionare controlla che in ~/.bashrc sia presente la seguente stringa:
Codice:
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi
In alternativa puoi inserire gli alias direttamente in .bashrc nell'apposita sezione.
unica avvertenza fai attenzione al nome degli script. Evita nomi che possono essere associati ad applicazioni installate o comandi di terminale.
Linux User # 207701 - Non ho particolari talenti. Sono soltanto appassionatamente curioso - Albert Einstein
Cita messaggio
Grazie da:
#9
@m3nhir
non sono così esperto come te in Linux, ma mi chiedo quale sarebbe la differenza, dal punto di vista pratico tra quello che hai indicato e fare la copia in /usr/local/bin?
In tutti e due i casi basta dare il comando "pippo.sh" perché venga eseguito.
Cita messaggio
Grazie da:


Vai al forum:


Utenti che stanno guardando questa discussione: 1 Ospite(i)