default shell
Ciao, su una installazione di base di Debian Sarge ho notato che se indico #!/bin/bash gli script non vanno, o meglio mi tocca indicare il percorso completo dei bianri /bin/cat etc. invece se indico #!/bin/sh va tutto liscio. Pensavo che fosse colpa di cron, ma ho visto che anche fuori da cron la cosa accade. Gli script hanno i permessi giusti e sono in /opt mi sono perso in un bicchiere d'acqua -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: default shell
Alle 22:31, martedì 8 febbraio 2005, Andrea Ganduglia ha scritto: > Ciao, su una installazione di base di Debian Sarge ho notato che se indico > > #!/bin/bash > > gli script non vanno, o meglio mi tocca indicare il percorso completo > dei bianri /bin/cat etc. > > invece se indico > > #!/bin/sh > > va tutto liscio. Pensavo che fosse colpa di cron, ma ho visto che > anche fuori da cron la cosa accade. Gli script hanno i permessi giusti > e sono in /opt > > mi sono perso in un bicchiere d'acqua più o meno, sono due shell diverse! bash = (GNU) - Bourne Again SHell A.
Re: default shell
> > Ciao, su una installazione di base di Debian Sarge ho notato che se indico Ciao, > > > > #!/bin/bash > > > > gli script non vanno, o meglio mi tocca indicare il percorso completo > > dei bianri /bin/cat etc. > > > > invece se indico > > > > #!/bin/sh > > > > va tutto liscio. Pensavo che fosse colpa di cron, ma ho visto che > > anche fuori da cron la cosa accade. Gli script hanno i permessi giusti > > e sono in /opt > > > > mi sono perso in un bicchiere d'acqua Non so che dirti, io ho appena provato e mi funziona in entrambe i casi... :O Sembra un problema di path ma da quello che dici, non so perche` si verifichi!?! > > più o meno, sono due shell diverse! > > bash = (GNU) - Bourne Again SHell > Questa non l'ho capita... $ls -la /bin/sh 0 lrwxrwxrwx 1 root root 4 2005-01-24 09:33 /bin/sh -> bash Se anche per lui e` cosi` sta usano la bash anche se indica sh E` cosi` anche per te vero Andrea? Ciao, Dario signature.asc Description: This is a digitally signed message part
Re: default shell
Alle 08:58, mercoledì 9 febbraio 2005, Raistlin ha scritto: > Questa non l'ho capita... > $ls -la /bin/sh > 0 lrwxrwxrwx 1 root root 4 2005-01-24 09:33 /bin/sh -> bash > > Se anche per lui e` cosi` sta usano la bash anche se indica sh E` > cosi` anche per te vero Andrea? > E' vero anche per me! Tantoché man bash = man sh. Sorry! A.
Re: default shell
alexxmed ha scritto: E' vero anche per me! Tantoché man bash = man sh. Attenzione pero' a non pensare che bash = sh, anche se l'eseguibile e' lo stesso. Andando a spulciare il codice (ma e' scritto anche nel man da qualche parte) si vede che bash si comporta diversamente a seconda del nome con cui viene chiamata: se esso e' "sh", cerca di avere un comportamento piu' "posix" possibile, quindi sicuramente cambiano anche i file di configurazione che consulta quando viene lanciata. Meglio controllare con uno strace. Saluti Cristian -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: default shell
> Attenzione pero' a non pensare che bash = sh, anche > se l'eseguibile e' lo stesso. Andando a spulciare > il codice (ma e' scritto anche nel man da qualche > parte) si vede che bash si comporta diversamente > a seconda del nome con cui viene chiamata: Cavolo... questa non la sapevo io... > se esso > e' "sh", cerca di avere un comportamento piu' "posix" > possibile, quindi sicuramente cambiano anche i file > di configurazione che consulta quando viene lanciata. Addirittura i file diversi... Bho, comunque io non ho mai riscontrato differenze di sorta nell'utilizzo. > Meglio controllare con uno strace. Senza voler fare di tutta l'erba un fascio non e` una bella cosa quando i programmi fanno cose diverse a seconda di come vengono invocati... > Saluti > Grazie della interessante precisazione... Ciao, Dario signature.asc Description: This is a digitally signed message part
Re: default shell
Riccardo Fabris ha scritto: e` vero, ma posix coi path non dovrebbe c'entrare nulla (a parte richiedere che una sh posix compliant sia la prima a essere trovata chiamando sh afair) Ok, ok, la mia parola nulla vale... mi vedo costretto a questo: - Shell di login: Alla login (dipendentemente dalla opzione -noprofile): se /etc/profile esiste, lo legge. se ~/.bash_profile esiste, lo legge, altrimenti se ~/.bash_login esiste, lo legge, altrimenti se ~/.profile esiste, lo legge. All'uscita: se ~/.bash_logout esiste, lo legge. Shell interattiva non di login: Alla partenza (dipendentemente dalle opzioni -norc e -rcfile): se ~/.bashrc esiste, lo legge. Shell non interattiva: Alla partenza: se la variabile di ambiente ENV non è nulla, la espande e legge il file che indica, come se fosse stato eseguito, il comando if [ "$ENV" ]; then . $ENV; fi ma non usa PATH per cercare il percorso del nome. Quando non è avviata in modo Posix, bash guarda BASH_ENV prima di ENV. Se Bash è chiamata come sh, prova a imitare il comportamento di sh nel modo più vicino possibile. Per una shell di login, essa tenta di leggere solo /etc/profile e ~/.profile, in questo ordine. L'opzione noprofile può anche essere usata per disabilitare questo comportamento. Una shell invocata come sh non tenta di leggere nessun altro file di inizializzazione. Quando bash è avviata in modo posix, come con l'opzione -posix sulla linea di comando, essa segue lo standard Posix per i file di inizializzazione. In questo modo, la variabile ENV è espansa e quel file letto; nessun altro file di inizializzazione viene letto. - Chiedo scusa per il lenzuolo copia-incollato dal man bash. Quindi a seconda di chi e come la lancia, del valore delle variabili di ambiente e delle impostazioni nei profile e bashrc il comportamento della shell (anche riguardo al path) puo' effettivamente cambiare. Se poi invece che un problema di bash ha un problema di rootkit o di malocchio, a me non e' dato sapere. io controllerei che sia tutto a posto, e che non sia stata messa li` da qualcuno ;) Da mamma hacker? ;) Cristian -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: default shell
Cristian Versari ha scritto: Riccardo Fabris ha scritto: e` vero, ma posix coi path non dovrebbe c'entrare nulla (a parte richiedere che una sh posix compliant sia la prima a essere trovata chiamando sh afair) Ok, ok, la mia parola nulla vale... tutt'altro, il non dovrebbe non era x nulla inteso cosi` :) Se Bash è chiamata come sh, prova a imitare il comportamento di sh nel modo più vicino possibile. detto in parole povere bash invocata come /bin/sh non legge ~/.bashrc, come fosse lanciata con --norc, e` nel reference manual di sicuro (una diagnosi potrebbe essere che manca il :$PATH in fondo a un PATH=blabla messo da qualcosa o a mano in .bashrc) Quindi a seconda di chi e come la lancia, del valore delle variabili di ambiente e delle impostazioni nei profile e bashrc il comportamento della shell (anche riguardo al path) puo' effettivamente cambiare. Se poi invece che un problema di bash ha un problema di rootkit o di malocchio, a me non e' dato sapere. io controllerei che sia tutto a posto, e che non sia stata messa li` da qualcuno ;) Da mamma hacker? ;) forse da quelle famose (famigerate?) sorelle il cui accesso alla distribuzione appena installata e` la causa di tutti i mali per gli "arridateme un lilo.conf ke funzi peppiacere", ne vorrei tanto conoscere qualcuna, ma temo sia piu` facile incontrare peter pan ;) -- saluti Riccardo Fabris "In God we trust, all others we monitor." -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: default shell
Cristian Versari ha scritto: > Attenzione pero' a non pensare che bash = sh, anche --- cut --- > possibile, quindi sicuramente cambiano anche i file > di configurazione che consulta quando viene lanciata. > Meglio controllare con uno strace. Addirittura strace! basta scrivere "man bash" e leggere il paragrafo "Invocation", vicino all'inizio della pagina di manuale. Se viene invocata come /bin/sh ovviamente (per compatibilità posix) ignora tutti i files tipo bashrc, bash_profile ecc... -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Re: default shell
Riccardo Fabris ha scritto: Ok, ok, la mia parola nulla vale... tutt'altro, il non dovrebbe non era x nulla inteso cosi` :) Pardon :) (una diagnosi potrebbe essere che manca il :$PATH in fondo a un PATH=blabla messo da qualcosa o a mano in .bashrc) Mi associo alla diagnosi. forse da quelle famose (famigerate?) sorelle il cui accesso alla distribuzione appena installata e` la causa di tutti i mali per gli "arridateme un lilo.conf ke funzi peppiacere", ne vorrei tanto conoscere qualcuna, ma temo sia piu` facile incontrare peter pan ;) Se le e' portate tutte nell'isola che non c'e' :( O ne svolazza ancora qualcuna in giro? ;) Cristian -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
php e default shell
Ciao a tutti, ho un piccolo problema con php: vorrei che quando chiamo la funzione shell_exec venga usata di default bash invece di dash. I workaround che ho trovato sono quelli di cambiare la shell predefinita con update-alternatives (ma non mi sembra accettabile) oppure quello di esplicitare in ogni chiamata di shell_exec di usare bash come interprete, qualcosa tipo shell_exec('/bin/bash -c "[ "" == "" ] && echo ok"); Ma prima mi piacerebbe impostare bash in default... Qualcuno sa come fare? Sono andato OT? Ciao e grazie Piviul -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/516bc57c.3070...@riminilug.it
Re: php e default shell
Mario Vittorio Guenzi scrisse in data 15/04/2013 12:46: > Il 15/04/2013 11:16, Piviul ha scritto: > > > > Ma prima mi piacerebbe impostare bash in default... > > > Non sono sicuro di aver capito, vuoi impostare bash come shell di > default per la macchina o solo per PHP? > Nel primo caso basta fare dpkg-reconfigure dash e seguire le > istruzioni, nel secondo non ho onestamente idea. non vorrei avere bash di default per tutto il sistema... vorrei invece che o php prenda la shell di default dell'utente che sta eseguendo lo script oppure impostare in php quale debba essere la shell da usare per le chiamate di shell_exec: chiedo troppo a php? Piviul -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/516bdd37.7000...@riminilug.it
Re: php e default shell
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Il 15/04/2013 12:57, Piviul ha scritto: > Mario Vittorio Guenzi scrisse in data 15/04/2013 12:46: >> Il 15/04/2013 11:16, Piviul ha scritto: >> >> >>> Ma prima mi piacerebbe impostare bash in default... >> >> >> Non sono sicuro di aver capito, vuoi impostare bash come shell >> di default per la macchina o solo per PHP? Nel primo caso basta >> fare dpkg-reconfigure dash e seguire le istruzioni, nel secondo >> non ho onestamente idea. > non vorrei avere bash di default per tutto il sistema... vorrei > invece che o php prenda la shell di default dell'utente che sta > eseguendo lo script oppure impostare in php quale debba essere la > shell da usare per le chiamate di shell_exec: chiedo troppo a php? > > Piviul > > premesso che in materia sono una capra la butto li... PHP presumo che venga eseguito da www-data, se cambi la shell in passwd a www-data? Cioe' di default e' /bin/sh che pero' e' un simlink a dash dandogli invece come shell /bin/bash dovrebbe essere quello che ti risolve la questione. - -- Mario Vittorio Guenzi E-mail jcl...@tiscali.it Si vis pacem, para bellum -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Icedove - http://www.enigmail.net/ iEYEARECAAYFAlFr6I4ACgkQm6qs1ZkNrIpuhQCfdbuVTkvwDhh/2FlRm3XA77hN 8bUAniALyFmSCm/R5eP8P5iLEQC52wsO =L/ak -END PGP SIGNATURE- -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/516be88e.6010...@tiscali.it
Re: php e default shell
Mario Vittorio Guenzi scrisse in data 15/04/2013 13:46: > premesso che in materia sono una capra la butto li... > PHP presumo che venga eseguito da www-data, se cambi la shell in > passwd a www-data? > Cioe' di default e' /bin/sh che pero' e' un simlink a dash dandogli > invece come shell /bin/bash dovrebbe essere quello che ti risolve la > questione. php oltre che essere un programma utilizzato in server web è utilizzato anche da riga di comando. Come già dicevo, ma a quanto pare in maniera non chiara, ogni chiamata alla funzione shell_exec ignora la shell predefinita dell'utente e utilizza quella predefinita nel sistema a meno che non si esegua direttamente l'interprete con una chiamata tipo shell_exec("/bin/bash -c "your commands here;\n"); Avrei voluto però e questo è il senso del thread, domare php in modo che di default scelga la shell che decido io. Ora sono stato più chiaro? Piviul -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/516bf75a.4030...@riminilug.it
Re: php e default shell
- Messaggio originale - > Da: Piviul > A: debian-italian@lists.debian.org > Cc: > Inviato: Lunedì 15 Aprile 2013 14:49 > Oggetto: Re: php e default shell > > Mario Vittorio Guenzi scrisse in data 15/04/2013 13:46: >> premesso che in materia sono una capra la butto li... >> PHP presumo che venga eseguito da www-data, se cambi la shell in >> passwd a www-data? >> Cioe' di default e' /bin/sh che pero' e' un simlink a dash > dandogli >> invece come shell /bin/bash dovrebbe essere quello che ti risolve la >> questione. > php oltre che essere un programma utilizzato in server web è utilizzato > anche da riga di comando. Come già dicevo, ma a quanto pare in maniera > non chiara, ogni chiamata alla funzione shell_exec ignora la shell > predefinita dell'utente e utilizza quella predefinita nel sistema a meno > che non si esegua direttamente l'interprete con una chiamata tipo > shell_exec("/bin/bash -c "your commands here;\n"); Avrei > voluto però e > questo è il senso del thread, domare php in modo che di default scelga > la shell che decido io. > > Ora sono stato più chiaro? > > Piviul > Secondo me non hai capito la sua risposta... :) Ora provo a rispiegare quello che "secondo me" intendeva dire lui: 1) PREMESSO che molto probabilmente php lato server gira sotto l'utente www-data 2) dato che quello è un utente diverso da quello con cui di solito usi il pc Allora conviene editare la bash di default di quell'utente, agendo propriamente in /etc/passwd www-data:x:33:33:www-data:/var/www:/bin/sh Ora rimane da controllare se php gira in www-data (sono abbastanza sicuro che sia così), e ricordarsi che questo funziona solo per gli script lanciati in automatico dal webserver, non per quelli che magari fai girare tu a mano. Spero di non aver confuso ulteriormente le cose Gianfranco > > -- > Per REVOCARE l'iscrizione alla lista, inviare un email a > debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per > problemi inviare un email in INGLESE a listmas...@lists.debian.org > > To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org > with a subject of "unsubscribe". Trouble? Contact > listmas...@lists.debian.org > Archive: http://lists.debian.org/516bf75a.4030...@riminilug.it > -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/1366030683.4145.yahoomail...@web172706.mail.ir2.yahoo.com
Re: php e default shell
Il Mon, 15 Apr 2013 14:49:30 +0200, Piviul ha scritto: > non chiara, ogni chiamata alla funzione shell_exec ignora la shell > predefinita dell'utente e utilizza quella predefinita nel sistema a meno > che non si esegua direttamente l'interprete con una chiamata tipo > shell_exec("/bin/bash -c "your commands here;\n"); Avrei voluto però e > questo è il senso del thread, domare php in modo che di default scelga > la shell che decido io. Se intendi "c'è un parametro in php.ini che imposti la shell di default?" allora no, non c'è. L'unico modo è quello di richiamare la shell come indichi. Oppure di fare uno script e usare lo shebang (#!) all'inizio per specificare la shell. Ma l'unica differenza tra dash e bash sono i comandi interni disponibili. Posso chiederti perché vuoi usare bash? Se devi richiamare più di un comando non ha molto senso usare shell_exec. Conviene fare uno script .sh o riscrivere quello che devi fare direttamente in PHP. Bye. -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/kkgtis$8r7$1...@ger.gmane.org
Re: php e default shell
Il 15/04/2013 14:59, Alessandro Pellizzari ha scritto: Se intendi "c'è un parametro in php.ini che imposti la shell di default?" allora no, non c'è. L'unico modo è quello di richiamare la shell come indichi. Oppure di fare uno script e usare lo shebang (#!) all'inizio per specificare la shell. Ma l'unica differenza tra dash e bash sono i comandi interni disponibili. Posso chiederti perché vuoi usare bash? Se devi richiamare più di un comando non ha molto senso usare shell_exec. Conviene fare uno script .sh o riscrivere quello che devi fare direttamente in PHP. Bye. Sottoscrivo l'ultima frase. Fosse per me shell_exec lo eliminerei del tutto (imho) Domanda, Piviul: Cosa devi fare in shell che non riesci a fare in PHP, o non puoi fare in PHP ? Qualche script esistente che sei obbligato a richiamare? Dario -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/516c3aff.7010...@gmail.com
Re: php e default shell
Dario scrisse in data 15/04/2013 19:38: > Sottoscrivo l'ultima frase. > Fosse per me shell_exec lo eliminerei del tutto (imho) io no :) > Domanda, Piviul: Cosa devi fare in shell che non riesci a fare in PHP, > o non puoi fare in PHP ? Ho fatto un'applicazione che va a prendere sui vari client della lan alcuni file (testo, xls, pdf...), legge tali files (sono principalmente files che provengono da strumenti di laboratorio) e in base alle informazioni contenute vengono eseguite delle archiviazioni classificate su un db. Poi esiste ovviamente la versione web che può andare a cercare nel db degli archivi per andare a riprendersi gli archivi stessi. Sia la parte web che quella cli l'ho fatta in php. Per andare a leggere però i files uso molto la shell traducendo tutto in testo (pdttotext, xlhtml...) poi uso grep, sed e compagnia bella per andare a cercare all'interno del file. Spesso le mie espressioni sono in bash non in dash per via di alcuni operatori ([[ ]] che ad esempio supporta anche le espressioni regolari) che dash non supporta. Ciao Piviul -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/516d4a38.2040...@riminilug.it
Re: php e default shell
Alessandro Pellizzari scrisse in data 15/04/2013 14:59: > Se intendi "c'è un parametro in php.ini che imposti la shell di default?" > allora no, non c'è. > argh... non capisco perché non si possa configurare quale shell usare in shell_exec e perché shell_exec debba usare quella default di sistema... comunque mi adeguo. Grazie mille a tutti quanti Piviul -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/516d59df.6010...@riminilug.it