j'ai besoin d'etre certain qu'un script va s'executer sans pb à tous les
coups, parce que sinon je ne peux plus demarrer mon ordi
voilà l'explication :-) :
<http://www.bombich.com/mactips/loginhooks.html>
est ce que des gens veullent bien me confirmer que mon script va
s'executer sans pb à tous les coups svp ? :-)
c'est executé sous root
il y a forcé ment un parametre, qui est le nom d'un utilisateur existant
le but est d'executer un script qui se trouve dans son dossier de
depart, en son nom au lieu de celui de root
#!/bin/sh
if [ ! $1 ]; then
echo "No user specified!"
exit 1
fi
su $1
cd /Users/$1
bin/startupscript &
### Always exit with 0 status
exit 0
ca va ? :-)
vu que c'est sous root, su ne demandera pas de mdp ?
ca renverra 0, de sorte qu'on puisse demarrer,
meme si bin/startupscript
- renvoie autre chose,
- n'est pas executable (parce qu'il manque le x ou parce que le fichier
contient n'importe quoi),
- ou n'existe pas ?
--
si je dors : wakeonlan -i tDeContes.hd.free.fr 00:03:93:AF:45:AE
"don't put your PC out of the window, put windows out of your PC"
"petit Free qui devient grand, gêne les requins blancs"
le but est d'executer un script qui se trouve dans son dossier de depart, en son nom au lieu de celui de root
#!/bin/sh
if [ ! $1 ]; then echo "No user specified!" exit 1 fi su $1
cd /Users/$1 bin/startupscript &
Ces deux dernières commande seront lancées sous root.
#! /bin/sh - su ${1:?no user specified} -c 'cd && bin/startupscript &'
vu que c'est sous root, su ne demandera pas de mdp ?
ca renverra 0, de sorte qu'on puisse demarrer, meme si bin/startupscript - renvoie autre chose, - n'est pas executable (parce qu'il manque le x ou parce que le fichier contient n'importe quoi), - ou n'existe pas ?
Vu que la commande est lancée en tâche de fond, son retour n'influe pas sur le code d'erreur du script.
Thomas <fantome.forums.deContes@iFrance.com> écrit:
le but est d'executer un script qui se trouve dans son dossier de
depart, en son nom au lieu de celui de root
#!/bin/sh
if [ ! $1 ]; then
echo "No user specified!"
exit 1
fi
su $1
cd /Users/$1
bin/startupscript &
Ces deux dernières commande seront lancées sous root.
#! /bin/sh -
su ${1:?no user specified} -c 'cd && bin/startupscript &'
vu que c'est sous root, su ne demandera pas de mdp ?
ca renverra 0, de sorte qu'on puisse demarrer,
meme si bin/startupscript
- renvoie autre chose,
- n'est pas executable (parce qu'il manque le x ou parce que le fichier
contient n'importe quoi),
- ou n'existe pas ?
Vu que la commande est lancée en tâche de fond, son retour n'influe
pas sur le code d'erreur du script.
le but est d'executer un script qui se trouve dans son dossier de depart, en son nom au lieu de celui de root
#!/bin/sh
if [ ! $1 ]; then echo "No user specified!" exit 1 fi su $1
cd /Users/$1 bin/startupscript &
Ces deux dernières commande seront lancées sous root.
#! /bin/sh - su ${1:?no user specified} -c 'cd && bin/startupscript &'
vu que c'est sous root, su ne demandera pas de mdp ?
ca renverra 0, de sorte qu'on puisse demarrer, meme si bin/startupscript - renvoie autre chose, - n'est pas executable (parce qu'il manque le x ou parce que le fichier contient n'importe quoi), - ou n'existe pas ?
Vu que la commande est lancée en tâche de fond, son retour n'influe pas sur le code d'erreur du script.
Stephane Chazelas
2004-09-07, 13:57(+02), Thomas: [...]
if [ ! $1 ]; then
Cela n'est pas correct,
Quand il voit ca, le shell lance la commande "[" avec les arguments suivants: "[" (le 0eme argument), "!" et la liste des arguments que l'expansion de $1 genere et comme $1 n'est pas entre quotes, le shell tente de considerer $1 comme une liste de fichiers (puis "]"), donc a part dans certains cas specifiques, ca ne teste pas si $1 est defini.
if [ "$#" -lt 1 ]; then
(si le nombre d'arguments du script (sans prendre en compte le 0eme) est inferieur a 1.
echo "No user specified!" exit 1 fi su $1
su "$1"
ca lance un shell interactif en tant qu'utilisateur "$1". Cette commande su se termine et le shell qui est en train d'executer ton script passera a la suite que quand ce shell se terminera (quand tu auras tapé "exit" dedans).
cd /Users/$1
cd "/Users/$1" || exit
bin/startupscript &
### Always exit with 0 status exit 0
ca va ? :-) [...]
Essaie:
#! /bin/sh - if [ "$#" -lt 1 ]; then echo >&2 "No user specified!" exit 1 fi exec su "$1" -c 'cd "/Users/$1" && bin/startupscript &'
-- Stephane
2004-09-07, 13:57(+02), Thomas:
[...]
if [ ! $1 ]; then
Cela n'est pas correct,
Quand il voit ca, le shell lance la commande "[" avec les
arguments suivants: "[" (le 0eme argument), "!" et la liste des
arguments que l'expansion de $1 genere et comme $1 n'est pas
entre quotes, le shell tente de considerer $1 comme une liste de
fichiers (puis "]"), donc a part dans certains cas specifiques,
ca ne teste pas si $1 est defini.
if [ "$#" -lt 1 ]; then
(si le nombre d'arguments du script (sans prendre en compte le
0eme) est inferieur a 1.
echo "No user specified!"
exit 1
fi
su $1
su "$1"
ca lance un shell interactif en tant qu'utilisateur "$1". Cette
commande su se termine et le shell qui est en train d'executer
ton script passera a la suite que quand ce shell se terminera
(quand tu auras tapé "exit" dedans).
cd /Users/$1
cd "/Users/$1" || exit
bin/startupscript &
### Always exit with 0 status
exit 0
ca va ? :-)
[...]
Essaie:
#! /bin/sh -
if [ "$#" -lt 1 ]; then
echo >&2 "No user specified!"
exit 1
fi
exec su "$1" -c 'cd "/Users/$1" && bin/startupscript &'
Quand il voit ca, le shell lance la commande "[" avec les arguments suivants: "[" (le 0eme argument), "!" et la liste des arguments que l'expansion de $1 genere et comme $1 n'est pas entre quotes, le shell tente de considerer $1 comme une liste de fichiers (puis "]"), donc a part dans certains cas specifiques, ca ne teste pas si $1 est defini.
if [ "$#" -lt 1 ]; then
(si le nombre d'arguments du script (sans prendre en compte le 0eme) est inferieur a 1.
echo "No user specified!" exit 1 fi su $1
su "$1"
ca lance un shell interactif en tant qu'utilisateur "$1". Cette commande su se termine et le shell qui est en train d'executer ton script passera a la suite que quand ce shell se terminera (quand tu auras tapé "exit" dedans).
cd /Users/$1
cd "/Users/$1" || exit
bin/startupscript &
### Always exit with 0 status exit 0
ca va ? :-) [...]
Essaie:
#! /bin/sh - if [ "$#" -lt 1 ]; then echo >&2 "No user specified!" exit 1 fi exec su "$1" -c 'cd "/Users/$1" && bin/startupscript &'
-- Stephane
Nicolas.MICHEL
Thomas wrote:
bonjour :-)
j'ai besoin d'etre certain qu'un script va s'executer sans pb à tous les coups, parce que sinon je ne peux plus demarrer mon ordi
voilà l'explication :-) :
<http://www.bombich.com/mactips/loginhooks.html>
Je laisse les questions de script shell à ceux qui savent mieux. Perso je ne test pas $1 vu que par définition c'est le username dans ce cas.
Je voulais juste dire que tu peux booter en singlemode et restaurer /Library/Preferences/com.apple.loginwindow en cas de pépins.
En outre, je comprends pas pourquoi tu vas multiplier les scripts de login (/Users/$1/bin/startupscript) plutôt que de les centraliser (par ex un montage nfs)
Bon, je dis ça mais tu as sûrement tes raisons. -- S'il n'y a pas de solutions, c'est qu'il n'y a pas de problèmes iChat/AIM : michelnicolas
Thomas <fantome.forums.deContes@iFrance.com> wrote:
bonjour :-)
j'ai besoin d'etre certain qu'un script va s'executer sans pb à tous les
coups, parce que sinon je ne peux plus demarrer mon ordi
voilà l'explication :-) :
<http://www.bombich.com/mactips/loginhooks.html>
Je laisse les questions de script shell à ceux qui savent mieux.
Perso je ne test pas $1 vu que par définition c'est le username dans ce
cas.
Je voulais juste dire que tu peux booter en singlemode et restaurer
/Library/Preferences/com.apple.loginwindow en cas de pépins.
En outre, je comprends pas pourquoi tu vas multiplier les scripts de
login (/Users/$1/bin/startupscript) plutôt que de les centraliser (par
ex un montage nfs)
Bon, je dis ça mais tu as sûrement tes raisons.
--
S'il n'y a pas de solutions, c'est qu'il n'y a pas de problèmes
iChat/AIM : michelnicolas
j'ai besoin d'etre certain qu'un script va s'executer sans pb à tous les coups, parce que sinon je ne peux plus demarrer mon ordi
voilà l'explication :-) :
<http://www.bombich.com/mactips/loginhooks.html>
Je laisse les questions de script shell à ceux qui savent mieux. Perso je ne test pas $1 vu que par définition c'est le username dans ce cas.
Je voulais juste dire que tu peux booter en singlemode et restaurer /Library/Preferences/com.apple.loginwindow en cas de pépins.
En outre, je comprends pas pourquoi tu vas multiplier les scripts de login (/Users/$1/bin/startupscript) plutôt que de les centraliser (par ex un montage nfs)
Bon, je dis ça mais tu as sûrement tes raisons. -- S'il n'y a pas de solutions, c'est qu'il n'y a pas de problèmes iChat/AIM : michelnicolas
Stephane Chazelas
2004-09-07, 12:10(+00), Stephane Chazelas: [...]
exec su "$1" -c 'cd "/Users/$1" && bin/startupscript &'
Ca ne marchera pas car le "$1" dans /Users/$1 n'est pas le meme que le "$1" du shell qui execute le script, vu que c'est le premier argument pour le shell lancé par su.
Si le but est d'aller dans le "home directory" de "$1" un "cd" tout court suffit. Sinon:
exec su "$1" -c 'cd "/Users/$1" && bin/startupscript &'
Ca ne marchera pas car le "$1" dans /Users/$1 n'est pas le meme
que le "$1" du shell qui execute le script, vu que c'est le
premier argument pour le shell lancé par su.
Si le but est d'aller dans le "home directory" de "$1" un "cd"
tout court suffit. Sinon:
exec su "$1" -c 'cd "/Users/$1" && bin/startupscript &'
Ca ne marchera pas car le "$1" dans /Users/$1 n'est pas le meme que le "$1" du shell qui execute le script, vu que c'est le premier argument pour le shell lancé par su.
Si le but est d'aller dans le "home directory" de "$1" un "cd" tout court suffit. Sinon:
In article (Dans l'article) <1gjqzqd.1yb3lczgr02uuN%, (Nicolas MICHEL) wrote (écrivait) :
Je voulais juste dire que tu peux booter en singlemode et restaurer /Library/Preferences/com.apple.loginwindow en cas de pépins.
ok
En outre, je comprends pas pourquoi tu vas multiplier les scripts de login (/Users/$1/bin/startupscript) plutôt que de les centraliser (par ex un montage nfs)
il me semble que ca, ca existait deja : un fichier dans lequel on peut mettre des commandes qui sont executées au demarrage de l'ordi (il me semble qu'apache est dans ce fichier, d'ailleurs)
je voulais la meme chose, mais au login (et executé au nom de celui qui se logge, pas au nom de root, bien sur)
apple a deja fait ca, mais seulement pour les elements double-clicables
vois tu ? :-)
Bon, je dis ça mais tu as sûrement tes raisons.
;-)
-- si je dors : wakeonlan -i tDeContes.hd.free.fr 00:03:93:AF:45:AE
"don't put your PC out of the window, put windows out of your PC" "petit Free qui devient grand, gêne les requins blancs"
merci à tous :-))
In article (Dans l'article)
<1gjqzqd.1yb3lczgr02uuN%Nicolas.MICHEL@BonBon.net>,
Nicolas.MICHEL@BonBon.net (Nicolas MICHEL) wrote (écrivait) :
Je voulais juste dire que tu peux booter en singlemode et restaurer
/Library/Preferences/com.apple.loginwindow en cas de pépins.
ok
En outre, je comprends pas pourquoi tu vas multiplier les scripts de
login (/Users/$1/bin/startupscript) plutôt que de les centraliser (par
ex un montage nfs)
il me semble que ca, ca existait deja :
un fichier dans lequel on peut mettre des commandes qui sont executées
au demarrage de l'ordi
(il me semble qu'apache est dans ce fichier, d'ailleurs)
je voulais la meme chose, mais au login
(et executé au nom de celui qui se logge, pas au nom de root, bien sur)
apple a deja fait ca, mais seulement pour les elements double-clicables
vois tu ? :-)
Bon, je dis ça mais tu as sûrement tes raisons.
;-)
--
si je dors : wakeonlan -i tDeContes.hd.free.fr 00:03:93:AF:45:AE
"don't put your PC out of the window, put windows out of your PC"
"petit Free qui devient grand, gêne les requins blancs"
In article (Dans l'article) <1gjqzqd.1yb3lczgr02uuN%, (Nicolas MICHEL) wrote (écrivait) :
Je voulais juste dire que tu peux booter en singlemode et restaurer /Library/Preferences/com.apple.loginwindow en cas de pépins.
ok
En outre, je comprends pas pourquoi tu vas multiplier les scripts de login (/Users/$1/bin/startupscript) plutôt que de les centraliser (par ex un montage nfs)
il me semble que ca, ca existait deja : un fichier dans lequel on peut mettre des commandes qui sont executées au demarrage de l'ordi (il me semble qu'apache est dans ce fichier, d'ailleurs)
je voulais la meme chose, mais au login (et executé au nom de celui qui se logge, pas au nom de root, bien sur)
apple a deja fait ca, mais seulement pour les elements double-clicables
vois tu ? :-)
Bon, je dis ça mais tu as sûrement tes raisons.
;-)
-- si je dors : wakeonlan -i tDeContes.hd.free.fr 00:03:93:AF:45:AE
"don't put your PC out of the window, put windows out of your PC" "petit Free qui devient grand, gêne les requins blancs"
Thomas
In article (Dans l'article) , Laurent Wacrenier <lwa@ teaser . fr> wrote (écrivait) :
#! /bin/sh - su ${1:?no user specified} -c 'cd && bin/startupscript &'
merci :-)))
ca sert à quoi le "-" de "#! /bin/sh -" ?
-- si je dors : wakeonlan -i tDeContes.hd.free.fr 00:03:93:AF:45:AE
"don't put your PC out of the window, put windows out of your PC" "petit Free qui devient grand, gêne les requins blancs"
In article (Dans l'article) <slrncjr96j.1ufr.lwa@victor.teaser.fr>,
Laurent Wacrenier <lwa@ teaser . fr> wrote (écrivait) :
#! /bin/sh -
su ${1:?no user specified} -c 'cd && bin/startupscript &'
merci :-)))
ca sert à quoi le "-" de "#! /bin/sh -" ?
--
si je dors : wakeonlan -i tDeContes.hd.free.fr 00:03:93:AF:45:AE
"don't put your PC out of the window, put windows out of your PC"
"petit Free qui devient grand, gêne les requins blancs"