Pagina 1 di 1

Aggiungere opzioni a fortune

Inviato: sab 8 ago 2015, 13:36
da cyberninja
Salve a tutti.
Sarò stringato: vorrei aggiungere lo switch -a al programma fortune.
Ho provato a mettere

Codice: Seleziona tutto

fortune -a
in .profile, ma così facendo, all'apertura di una shell mi compaiono due frasi.
Ho provato anche ad aggiungere il parametro nel file /etc/profile.d/bsd-games-login-fortune.sh ma evidentemente
sbaglio qualcosa e all'apertura di una nuova shell compare un messaggio di errore.
Come risolvo?

Grazie!

Luca

Re: Aggiungere opzioni a fortune

Inviato: sab 8 ago 2015, 15:11
da hashbang
Mettere un alias all'inizio del file .profile?

Codice: Seleziona tutto

alias fortune='fortune -a'

Re: Aggiungere opzioni a fortune

Inviato: sab 8 ago 2015, 15:38
da cyberninja
hashbang ha scritto:Mettere un alias all'inizio del file .profile?
Grazie, ma come ho specificato nel messaggio precedente, avevo già provato a mettere il comando nel .profile,
ma così facendo, quando apro una nuova shell, compaiono due messaggi di fortune.
Uno viene eseguito dalle impostazioni globali e uno dalle mie personali.
Se potessi aggiungere l'opzione

Codice: Seleziona tutto

-a
alle impostazioni globali non avrei bisogno di aggiungere una voce al mio .profile.

Questo è lo script che lancia fortune all'apertura di una shell:

Codice: Seleziona tutto

#!/bin/sh
# Print a fortune cookie for interactive shells:

case $- in
*i* )  # We're interactive
  echo
  fortune fortunes fortunes2 linuxcookie
  echo
  ;;
esac
E' possibile, secondo voi, aggiungere qui l'opzione di cui ho bisogno?

Re: Aggiungere opzioni a fortune

Inviato: sab 8 ago 2015, 15:48
da hashbang
cyberninja ha scritto:Grazie, ma come ho specificato nel messaggio precedente, avevo già provato a mettere il comando nel .profile,
ma così facendo, quando apro una nuova shell, compaiono due messaggi di fortune.
Mi sa che non hai capito.
A te compaiono due messaggi perché lo chiami due volte: una nel file ~/.profile e l'altra nello script presente in /etc/profile.d.

Ma io ho detto una cosa diversa: non ti ho detto di richiamare fortune dal file ~/.profile, bensì ti ho detto di mettere un alias.
Tra l'altro ho commesso un errore al primo post: ti ho detto di metterlo in .profile, ma in realtà dovresti metterlo all'inizio di /etc/profile.

Re: Aggiungere opzioni a fortune

Inviato: sab 8 ago 2015, 16:01
da cyberninja
hashbang ha scritto:Mi sa che non hai capito.
Può darsi, ma...
A te compaiono due messaggi perché lo chiami due volte: una nel file ~/.profile e l'altra nello script presente in /etc/profile.d.
Ma io ho detto una cosa diversa: non ti ho detto di richiamare fortune dal file ~/.profile, bensì ti ho detto di mettere un alias.
Ora, se fossi così gentile da spiegarmi come farebbe una alias, che è semplicemente un nome personalizzato che voglio attribuire a un comando e/o relative opzioni, ma che deve essere lanciato esplicitamente, a partire automaticamente all'apertura della shell, te ne sarei grato.

Luca

EDIT: ho letto la correzione che hai fatto al tuo ultimo post.
Effettivamente così può avere un senso.
Proverò

Grazie mille!

Re: Aggiungere opzioni a fortune

Inviato: sab 8 ago 2015, 16:09
da hashbang
cyberninja ha scritto:Ora, se fossi così gentile da spiegarmi come farebbe una alias, che è semplicemente un nome personalizzato che voglio attribuire a un comando e/o relative opzioni, ma che deve essere lanciato esplicitamente, a partire automaticamente all'apertura della shell, te ne sarei grato.
Quando viene registrato un alias esso ha la precedenza sul binario presente nei percorsi definiti da PATH, a meno che non si chiami il binario con il percorso completo.
Di conseguenza, visto che lo script in profile.d non richiama /usr/games/fortune ma semplicemente fortune, la shell non chiamerà il binario bensì l'alias che corrisponde a fortune con il parametro -a.

È la stessa situazione di quando setti un alias all'interno di ~/.bashrc e lo usi in una shell.

Re: Aggiungere opzioni a fortune

Inviato: sab 8 ago 2015, 16:21
da cyberninja
Grazie, ora è più chiaro. :thumbright: