#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
doneEn 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
doneVersion 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.
Linux-Mint 20.2 Uma (Cinnamon) sur ASUS F2A55/AMD A8-5600K APU et diverses machines en 19.3 ou 20.x
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/passwdfonctionne 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