Contenu | Rechercher | Menus

Annonce

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". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#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

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

serged

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 Qiana 64 (Cinnamon) sur ASUS F2A55/AMD A8-5600K APU

Hors ligne

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

Totor

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

iuchiban

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, à 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

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

yanick_cangaeld

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

ok merci

Hors ligne

Haut de page ↑