{"id":780,"date":"2010-01-15T17:12:52","date_gmt":"2010-01-15T15:12:52","guid":{"rendered":"http:\/\/linux.leunen.com\/?p=780"},"modified":"2010-01-15T17:26:49","modified_gmt":"2010-01-15T15:26:49","slug":"sudo-echo","status":"publish","type":"post","link":"https:\/\/www.leunen.com\/linux\/2010\/01\/sudo-echo\/","title":{"rendered":"sudo echo"},"content":{"rendered":"<p>Dans le billet <a href=\"http:\/\/linux.leunen.com\/?p=50\">Changer le hostname de votre PC<\/a>, je donnais une commande permettant de changer le nom du PC en \u00e9crivant gr\u00e2ce \u00e0 la commande <em>echo<\/em>, le nouveau nom directement dans le fichier <em>\/etc\/hostname<\/em>. La commande donn\u00e9e \u00e9tait celle-ci:<\/p>\n<pre class=\"codesource\">\r\n$ sudo echo Nouveau_Nom > \/etc\/hostname\r\n<\/pre>\n<p>Je n&rsquo;y avais pas pr\u00eat\u00e9 attention \u00e0 l&rsquo;\u00e9poque mais cette commande est \u00e9videmment incorrecte.<br \/>\nSon but \u00e9tait de permettre l&rsquo;\u00e9criture dans le fichier <em>\/etc\/hostname<\/em> qui r\u00e9clame des droits d&rsquo;administration pour \u00eatre modifi\u00e9. Malheureusement, le <em>sudo<\/em> s&rsquo;applique \u00e0 la commande <em>echo<\/em> et pas \u00e0 la redirection de la sortie standard vers le fichier. Pour le v\u00e9rifier, tapons cette commande dans un terminal:<\/p>\n<pre class=\"codesource\">\r\n$ sudo echo Nouveau_Nom > \/etc\/hostname\r\nbash: \/etc\/hostname: Permission non accord\u00e9e\r\n<\/pre>\n<p>Pour r\u00e9soudre ce probl\u00e8me nous allons utiliser un petit programme appel\u00e9 <em>tee<\/em> qui, d&rsquo;apr\u00e8s la page de manuel, lit ce qui se trouve sur son entr\u00e9e standard (stdin) et le r\u00e9\u00e9crit sur sa sortie standard (stdout) ou dans un fichier:<\/p>\n<pre class=\"codesource\">\r\n$ echo Nouveau_Nom | sudo tee \/etc\/hostname\r\n<\/pre>\n<p>Le caract\u00e8re de redirection <em>|<\/em> redirige la sortie standard du programme \u00e0 sa gauche vers l&rsquo;entr\u00e9e standard du programme \u00e0 sa droite (voir <a href=\"http:\/\/linux.leunen.com\/?p=46\">Shell \u2013 Redirections de flux<\/a>). La commande prend donc la sortie de la commande <em>echo<\/em>, l&rsquo;envoie sur l&rsquo;entr\u00e9e standard de <em>tee<\/em> qui gr\u00e2ce au <em>sudo<\/em> r\u00e9\u00e9crit son entr\u00e9e standard dans le fichier \/etc\/hostname mais cette fois avec des droits suffisants.<\/p>\n<p>Si vous voulez ajouter en <em>appending<\/em> quelque chose avec la commande <em>tee<\/em>, celle-ci poss\u00e8de une option <em>-a<\/em>, pour <em>append<\/em>, permettant d&rsquo;ajouter quelque chose au fichier. Par exemple:<\/p>\n<pre class=\"codesource\">\r\n$ echo Nouveau_Nom | sudo tee -a \/etc\/hostname\r\n<\/pre>\n<p>Dans ce cas, Nouveau_Nom sera ajout\u00e9 au fichier plut\u00f4t que de remplacer le contenu comme dans le cas pr\u00e9cedent.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans le billet Changer le hostname de votre PC, je donnais une commande permettant de changer le nom du PC en \u00e9crivant gr\u00e2ce \u00e0 la commande echo, le nouveau nom directement dans le fichier \/etc\/hostname. La commande donn\u00e9e \u00e9tait celle-ci: $ sudo echo Nouveau_Nom > \/etc\/hostname Je n&rsquo;y avais pas pr\u00eat\u00e9 attention \u00e0 l&rsquo;\u00e9poque mais [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/780"}],"collection":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/comments?post=780"}],"version-history":[{"count":5,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/780\/revisions"}],"predecessor-version":[{"id":786,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/posts\/780\/revisions\/786"}],"wp:attachment":[{"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/media?parent=780"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/categories?post=780"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.leunen.com\/linux\/wp-json\/wp\/v2\/tags?post=780"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}