#1 Le 03/09/2009, à 07:52
- yanick_cangaeld
[résolu]exécution d'un script
Bonjour,
On me demande ce que fait le programme suivant :
#!/bin/sh
for i in 'cut -fl -d/etc/passwd'
do
echo $i
done
En fait ça ne fait que m'afficher cut -fl -d/etc/passwd ? ça devrait me faire autre chose normalement ?
Dernière modification par yanick_cangaeld (Le 06/09/2009, à 10:47)
Hors ligne
#2 Le 03/09/2009, à 08:51
- Hawkmoon
Re : [résolu]exécution d'un script
#!/bin/sh
for i in `cut -f1 -d: /etc/passwd`
do
echo $i
done
Version corrigée.
Tagazok à toi, mon frère !
Hors ligne
#3 Le 03/09/2009, à 09:04
- Mpok
Re : [résolu]exécution d'un script
@Hawkmoon : nice catch..
@yannick_cangaeld : c'est la liste des utilisateurs...
Hors ligne
#4 Le 03/09/2009, à 09:06
- yanick_cangaeld
Re : [résolu]exécution d'un script
Je ne comprends pas ?
Tu as fait quelles modifications et pourquoi mon code ne fonctionnait pas ?
Hors ligne
#5 Le 03/09/2009, à 09:27
- iuchiban
Re : [résolu]exécution d'un script
Je ne comprends pas ?
Tu as fait quelles modifications et pourquoi mon code ne fonctionnait pas ?
Il manque le séparateur après le -d et un espace de séparation avec /etc/passwd
Sinon, tu peux aussi faire :
cat /etc/passwd | cut -f1 -d:
C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.
Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.
Hors ligne
#6 Le 03/09/2009, à 09:56
- serged
Re : [résolu]exécution d'un script
yanick_cangaeld a écrit :Je ne comprends pas ?
Tu as fait quelles modifications et pourquoi mon code ne fonctionnait pas ?Il manque le séparateur après le -d et un espace de séparation avec /etc/passwd
Sinon, tu peux aussi faire :
cat /etc/passwd | cut -f1 -d:
Et également il a mis des ` (accent grave) à la place des ' (apostrophe droite) dans la ligne :
for i in `cut -f1 -d: /etc/passwd`
cela signifie que la sortie de la commande "cut" est prise comme paramètres du "for". Alors qu'avec tes apostrophes, il ne se passera rien.
LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)
Hors ligne
#7 Le 03/09/2009, à 09:58
- Totor
Re : [résolu]exécution d'un script
Sinon, tu peux aussi faire :
cat /etc/passwd | cut -f1 -d:
Quel horreur !
-- Lucid Lynx --
Hors ligne
#8 Le 03/09/2009, à 11:11
- iuchiban
Re : [résolu]exécution d'un script
iuchiban a écrit :Sinon, tu peux aussi faire :
cat /etc/passwd | cut -f1 -d:Quel horreur !
c'est vrai que
cut -f1 -d: /etc/passwd
fonctionne aussi
C'est depuis que Chuck Norris a laissé la vie sauve à un manchot que l'on dit que Linux est libre.
Chuck Norris n'a pas besoin d'éditer son premier message pour ajouter [Résolu]. Chuck Norris est toujours [Résolu], quoi qu'il arrive.
Hors ligne
#9 Le 03/09/2009, à 12:31
- Totor
Re : [résolu]exécution d'un script
Ce n'est pas le côté fonctionnel que je remets en cause mais l'utilisation de l'instruction cat.
Quasiment toutes les instructions acceptent un (ou plusieurs) fichier(s) en paramètre qui sera (seront) utilisé(s) comme flux d'entrée. C'est le cas de cut. Il est donc vraiment inutile d'utiliser cat en combinaison du |.
Je vois trop souvent cette erreur avec l'emploi de grep...
-- Lucid Lynx --
Hors ligne
#10 Le 05/09/2009, à 17:28
- yanick_cangaeld
Re : [résolu]exécution d'un script
Le programme me donne cette liste comme résultat :
root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
proxy
www-data
backup
list
irc
gnats
nobody
libuuid
syslog
klog
hplip
avahi-autoipd
gdm
saned
pulse
messagebus
polkituser
avahi
haldaemon
yannick
Ce sont tous des utilisateurs ?
Hors ligne
#11 Le 05/09/2009, à 19:46
- Mpok
Re : [résolu]exécution d'un script
Ben oui...
(j'ai les mêmes, avec mysql en plus).
Cela sert entre autre à différencier les droits (la liste est sensiblement la même pour les groupes d'ailleurs).
Hors ligne
#12 Le 05/09/2009, à 22:10
- yanick_cangaeld
Re : [résolu]exécution d'un script
ok
mais je croyais que cut permettait de découper un fichier et non de l'afficher ?
Hors ligne
#13 Le 06/09/2009, à 00:47
- Link31
Re : [résolu]exécution d'un script
mais je croyais que cut permettait de découper un fichier et non de l'afficher ?
Il découpe ce qu'on lui donne. Si on lui donne un fichier, il découpe le fichier et il ressort le résultat sur la sortie standard. Si on ne lui donne rien, il attend des données sur l'entrée standard, qui peut être le clavier (le terminal) ou un autre programme à l'aide d'un pipe.
Hors ligne
#14 Le 06/09/2009, à 10:46
- yanick_cangaeld
Re : [résolu]exécution d'un script
ok merci
Hors ligne