Contenu | Rechercher | Menus

Annonce

Le forum rencontre en ce moment quelques soucis de charge, il est possible qu'une erreur soit affichée quand vous postez un message, ne rechargez pas la page au risque de poster une seconde fois votre message

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#1 Le 03/09/2009, à 08:52

[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, à 11:47)

Hors ligne

#2 Le 03/09/2009, à 09:51

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, à 10:04

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, à 10:06

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, à 10:27

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:


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, à 10:56

Re : [résolu]exécution d'un script

iuchiban a écrit :
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 Maya 64 Cinnamon sur Toshiba Satellite P200-1BY. Linux-Mint  Nadia 64 Cinnamon sur Compaq Presario SR5617FR

Hors ligne

#7 Le 03/09/2009, à 10:58

Re : [résolu]exécution d'un script

iuchiban a écrit :

Sinon, tu peux aussi faire :
cat /etc/passwd | cut -f1 -d:

Quel horreur !


-- Lucid Lynx --

Hors ligne

#8 Le 03/09/2009, à 12:11

Re : [résolu]exécution d'un script

Totor a écrit :
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 wink


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, à 13:31

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, à 18:28

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, à 20:46

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, à 23:10

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, à 01:47

Re : [résolu]exécution d'un script

yanick_cangaeld a écrit :

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, à 11:46

Re : [résolu]exécution d'un script

ok merci

Hors ligne

Haut de page ↑