Repository 32bit  Forum
Repository 64bit  Wiki

Domanda bash

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

Domanda bash

Messaggioda darkstaring » lun ago 05, 2013 19:33

Ciao :)..
Sto cercando di fare una cosetta un bash e non sto riuscendo :)..

Molto in breve ho un vettore con dei percorsi di script es "/opt/htv/moduli/esegui_shell.sh"
Vorrei capire se gli scipt sono in esecuzione...
pensavo a awk con ps :

in pratica dentro al ciclo che scorre sul vettore faccio:
Codice: Seleziona tutto
x=$( echo "awk '!/"awk${vett_pwd[$i]//\//\/\&\&\/}"/{print \$0}'" );

per ottenere:
awk '!/awk/&&/opt/&&/htv/&&/moduli/&&/esegui_shell.sh/{print $0}'


ma poi non riesco a cercare con awk sull'output di 'ps -aux'
ho provato "ps aux | $x" ma non và con errore
awk: linea com.:1: '!/awk/&&/opt/&&/htv/&&/moduli/&&/esegui_shell.sh/{print
awk: linea com.:1: ^ carattere ''' non valido in un'espressione

Consigli?
Meglio usare grep?
darkstaring
Linux 2.4
Linux 2.4
 
Messaggi: 368
Iscritto il: mer ott 13, 2010 12:55
Desktop: xfce
Distribuzione: Kali Linux

Re: Domanda bash

Messaggioda nico giraldi » lun ago 05, 2013 19:57

Non so ad un pc linux ora e non posso controllare ma prova a controllare se quando dai un pattern con un operatore davanti non devi esplicitare un campo, cioè
Codice: Seleziona tutto
awk '$0!~<pattern>'


e poi perchè fare echo? $() dovrebbe bastare ad eseguire il comando.
Avatar utente
nico giraldi
Linux 2.0
Linux 2.0
 
Messaggi: 114
Iscritto il: lun set 10, 2007 0:56
Località: Roma
Slackware: 14.0
Kernel: 3.6.2
Desktop: xfce

Re: Domanda bash

Messaggioda d4z_c0nf » lun ago 05, 2013 20:01

Guarda, non so se hai la necessità di usare awk, in caso contrario io farei:
Codice: Seleziona tutto
x=$(pgrep ${vett_pwd[$i]##*/})


pgrep ti restituisce l'id del processo, se esiste.
Avatar utente
d4z_c0nf
Packager
Packager
 
Messaggi: 1293
Iscritto il: mar mar 14, 2006 18:07
Località: Salerno
Nome Cognome: Rocco Aliberti
Slackware: 14.1-64bit
Kernel: 3.10.17
Desktop: xfce

Re: Domanda bash

Messaggioda darkstaring » lun ago 05, 2013 20:15

Bello pgrep... no lo conoscevo :)...
darkstaring
Linux 2.4
Linux 2.4
 
Messaggi: 368
Iscritto il: mer ott 13, 2010 12:55
Desktop: xfce
Distribuzione: Kali Linux

Re: Domanda bash

Messaggioda d4z_c0nf » lun ago 05, 2013 20:19

Scoperto per caso tempo fa :)

Comunque mi "correggo", restituisci gli id dei processi, perché ovviamente ce ne possono essere diversi..
Avatar utente
d4z_c0nf
Packager
Packager
 
Messaggi: 1293
Iscritto il: mar mar 14, 2006 18:07
Località: Salerno
Nome Cognome: Rocco Aliberti
Slackware: 14.1-64bit
Kernel: 3.10.17
Desktop: xfce

Re: Domanda bash

Messaggioda darkstaring » lun ago 05, 2013 21:30

Si :).. con "-f" li ritorna tutti...

Sicuramente tornerà utile..
Grazie :)
darkstaring
Linux 2.4
Linux 2.4
 
Messaggi: 368
Iscritto il: mer ott 13, 2010 12:55
Desktop: xfce
Distribuzione: Kali Linux

Re: Domanda bash

Messaggioda d4z_c0nf » lun ago 05, 2013 21:43

Non avevo indagato, in pratica "pgrep pattern" restituisce tutti i pid dei processi il cui nome matchano il pattern. L'opzione -f ti permette di matchare lo specifico comando (quindi l'intera command line), ottimo. Grazie anche a te :)
Avatar utente
d4z_c0nf
Packager
Packager
 
Messaggi: 1293
Iscritto il: mar mar 14, 2006 18:07
Località: Salerno
Nome Cognome: Rocco Aliberti
Slackware: 14.1-64bit
Kernel: 3.10.17
Desktop: xfce


Torna a Gnu/Linux in genere

Chi c’è in linea

Visitano il forum: Google [Bot] e 4 ospiti