{"id":58,"date":"2011-10-05T09:57:49","date_gmt":"2011-10-05T12:57:49","guid":{"rendered":"http:\/\/www.maurom.com\/wp\/?p=58"},"modified":"2012-05-11T14:36:44","modified_gmt":"2012-05-11T17:36:44","slug":"bashismos","status":"publish","type":"post","link":"https:\/\/maurom.com\/blog\/2011\/10\/05\/bashismos\/","title":{"rendered":"Bashismos"},"content":{"rendered":"<p>Esto surgi\u00f3 mientras un amigo depuraba un script de backup. Supongamos que creamos un script denominado .\/<span style=\"font-family: 'Courier New', Courier, monospace;\">myscript<\/span> con el contenido siguiente:<\/p>\n<pre>echo parametro1 es $1\r\necho parametro2 es $2<\/pre>\n<p>Y luego lo ejecutamos alternativamente con los int\u00e9rpretes Dash y Bash:<\/p>\n<pre>mauro@yoda$\u00a0dash\r\n$ . .\/myscript\r\nparametro1 es\r\nparametro2 es\r\n$ . .\/myscript foo bar\r\nparametro1 es\r\nparametro2 es<\/pre>\n<pre>mauro@yoda$ bash\r\n$ . .\/myscript\r\nparametro1 es\r\nparametro2 es\r\n$ . .\/myscript foo bar\r\nparametro1 es foo\r\nparametro2 es bar<\/pre>\n<p><strong>\u00bfSe nota la diferencia?<\/strong><\/p>\n<p style=\"font-size: 75%;\">Efectivamente, al utilizar el comando &#8220;.&#8221; (dot o source) Dash no pasa ning\u00fan argumento al script, mientras Bash s\u00ed lo hace. \u00bfBug o Feature? Seg\u00fan parece, es <a href=\"http:\/\/pubs.opengroup.org\/onlinepubs\/009695399\/utilities\/dot.html\">una implementaci\u00f3n estricta<\/a> del est\u00e1ndar POSIX. En cualquier caso, hasta que nos dimos cuenta, fue un dolor de cabeza.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Esto surgi\u00f3 mientras un amigo depuraba un script de backup. Supongamos que creamos un script denominado .\/myscript con el contenido siguiente: echo parametro1 es $1 echo parametro2 es $2 Y luego lo ejecutamos alternativamente con los int\u00e9rpretes Dash y Bash: mauro@yoda$\u00a0dash $ . .\/myscript parametro1 es parametro2 es $ . .\/myscript foo bar parametro1 es [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[5,3,16,6],"_links":{"self":[{"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/posts\/58"}],"collection":[{"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/comments?post=58"}],"version-history":[{"count":0,"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/posts\/58\/revisions"}],"wp:attachment":[{"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/media?parent=58"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/categories?post=58"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/maurom.com\/blog\/wp-json\/wp\/v2\/tags?post=58"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}