opensuse
[Arriba] [Todas las Listas]

Re: [opensuse] Tipo diferente de pelar guiones

To: opensuse@xxxxxxxxxxxx
Subject: Re: [opensuse] Tipo diferente de pelar guiones
From: Anton Aylward <opensuse@xxxxxxxxxxxxxxxx>
Date: Thu, 22 Sep 2011 08:54:07 -0400
Delivered-to: opensuse@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 22 Sep 2011 08:54:27 -0400
Dkim-signature: v=1; a=rsa-sha1; c=relaxed; d=antonaylward.com; h= message-id:date:from:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; s= antonaylward.com; bh=03GYbI6M4r+1LtQvk/El20Wt5WY=; b=Y3HVbdX+A7R Of9aCMBy2mojZOBfQg3oeGCi3C+eurXpNArTp31e1PoOgE+J4GDYbSeOYPR8PJsY /R+xZsVkCqsIFosZXsKBZS9sQSst52rp+CEdgB6xz35V7r5Av+RXfNlSnF5kPvYf T8Fz20Rz+n2lzCSUIX8MltnxeseKNcbE=
Domainkey-signature: a=rsa-sha1; c=nofws; d=antonaylward.com; h=message-id :date:from:mime-version:to:subject:references:in-reply-to :content-type:content-transfer-encoding; q=dns; s= antonaylward.com; b=cCaIOSxqvfYguz2Bva2onvLJd4Wjb30wIxeI97ibCsyE 4YAfoHzOWP5IOei+AFApcaUIKsOsaIN9dzovAgCTe0FcoUfbVqTCwOslkGGGoh/L vZZ90k9f20YivJYBqv60VD+U+7Y3Vfkdt0egMM80RYBFiddYxN13MGL/igRowtc=
Envelope-to: traductor@xxxxxxxxxxx
In-reply-to: <4E7AF440.7050200@dodin.org>
List-archive: <http://lists.opensuse.org/opensuse/>
List-help: <mailto:opensuse+help@opensuse.org>
List-owner: <mailto:opensuse+owner@opensuse.org>
List-post: <mailto:opensuse@opensuse.org>
List-subscribe: <mailto:opensuse+subscribe@opensuse.org>
List-unsubscribe: <mailto:opensuse+unsubscribe@opensuse.org>
Mailing-list: contact opensuse+help@xxxxxxxxxxxx; run by mlmmj
Organization: SI
References: <4E7AED97.1000309@gmail.com> <4E7AF440.7050200@dodin.org>
User-agent: Mozilla/5.0 (X11; Linux i686; rv:6.0.2) Gecko/20110906 Firefox/6.0.2 Thunderbird/6.0.2
*jdd Dijo el siguiendo en 09/22/2011 04:39 AM:
*Le 22/09/2011 10:11, George *OLson un *écrit :

Así que mi cuestión es, qué es la diferencia entre correr un archivo
de guión con el espacio

<de punto><de la orden><*filename>, por ejemplo "#>  . *myscript.*sh"

.........................
"Ayuda ."

.: . *filename [Argumentos]
      Ejecuta órdenes de un archivo en la corriente pela.

Esto es normalmente llamado '*sourcing'.
En la totalidad NO es un *sensible práctica para _ejecutar_ un guión.
Utiliza es normalmente para poner parámetros.

Por ejemplo, verás en /*etc/*init.*d/ Archivos que son parte del RC, que es enlazado a /*etc/*rc3.*d Y /*etc/*rc5.*d Y tan encima.

En estos te archiva verá líneas como:

. /*etc/*rc.Estado
. /*etc/*sysconfig/Sonido
. /*etc/*sysconfig/Chuta

Esto 'ejecuta' el poniendo de pelar/variables de entorno.
Esto es una Práctica/"Buena sana" uso de '*sourcing'.
Su no el único un.

Vuestro .Perfil y la base y *X11 equivalentes hacen una cosa similar y ellos pueden también de hecho ejecutar programas externos, cosas de conjunto que corren en el fondo (como *ssh-agente).

Qué no están haciendo, y lo que consideraría la PRÁCTICA MALA está corriendo en el actual pelar cosas que tendrían que ser corrido en un *sub-pelar o *sub-proceso.

Atrás cuándo, UNIX empezó algo radicalmente diferente que ahora consideramos la norma. Atrás cuándo, los procesos eran *deemed caro de crear tan no fueron. El *CLI justo corrió un programa a la vez, hubo no controlar flujo. había una "Área de Programa Transitoria" y el *CLI causó el ejecutivo a *overlay el *CLI con la aplicación. Grande para lo que era sistemas de proceso solo como DOS/de CPM y su *mainframe predecesores. Cuándo la aplicación *terminated el sistema *somehow *reloaded el *CLI y eras de otra vez.

Qué radical de UNIX hecho era que el *CLI, el pelar, enganchó alrededor; creación de proceso era barata un fácil y así que la aplicación fue corrida en un *sub-proceso. Aquello significó el *CLI podría hacer cosas que no fueron posible antes de que. Podría correr una secuencia de programas; podría correr dos (o más) procesos de niño que fueron conectados *via tubo.

Damos por hecho esto ahora, pero atrás en el 70*s y 80*s esto era radical. Muchas personas que habían crecido arriba de con *mainframe y *mini *OSes sencillamente no podría conseguir su cabeza alrededor de esto. La idea del *CLI como lengua de programación era más allá les.

No soy *joking.

Vi esto persiste al 1980*s. Trabajé en un establecimiento donde puse arriba de Herramientas "de Software" en el *VAX/VMS que utilizaba (*UGH! FORTRAN!) Y las cosas realmente movidas. Mi *peers y los directores no entendieron lo que el descalabro era y en el fin no apreció que era (al menos) 5 tiempo como productivo porque hube *suitable herramientas.

*Realistically, su no justo teniendo las herramientas; eran allí en el *VAX para cualquiera para utilizar. Está sabiendo cómo para utilizarles y utilizarles *appropriately. Hice; las personas que vieron *VAX/VMS y el *CLI y modelo de TPA, procesa ser 'caro' así que corrido todo en el 'pela', no podría alterar su pensamiento al 'herramientas' y *throwaway proceso ("*grep para algo....", "uso *sed para transformar un archivo") modo de pensamiento. No tanto *dinosaurs como caracoles.

Puedes ver ejemplos de *appropriate uso en el varios pelar guiones en el sistema. Atrás cuándo, el PDP-11 días, versión 6, 7, PDP-11*s, espacios de dirección pequeña, discos pequeños, el guión fue utilizado mucho más que son hoy. Bastante mucho fuera de *necessity.





--
El Liderazgo está entendiendo personas e implicándoles para ayudar tú un trabajo. Aquello toma todo de las características buenas, como integridad, *dedication de propósito, *selflessness, conocimiento, habilidad, *implacability, también cuando determinación no para aceptar fracaso. *Admiral *Arleigh Un. *Burke
--
A *unsubscribe, *e-correo: *opensuse+unsubscribe@xxxxxxxxxxxx
Puesto que órdenes adicionales, *e-correo: *opensuse+help@xxxxxxxxxxxx


jdd said the following on 09/22/2011 04:39 AM:
Le 22/09/2011 10:11, George OLson a écrit :

So my question is, what is the difference between running a script
file with the command

<dot><space><filename>, for example "#>  . myscript.sh"

.........................
"help ."

.: . filename [arguments]
      Execute commands from a file in the current shell.

This is normally called 'sourcing'.
On the whole it is NOT a sensible practice for _executing_ a script.
It use is normally to set parameters.

For example, you will see in /etc/init.d/ files that are part of the RC, that are linked into /etc/rc3.d and /etc/rc5.d and so on.

In these files you will see lines such as:

. /etc/rc.status
. /etc/sysconfig/sound
. /etc/sysconfig/boot

This 'execute' the setting of shell/environment variables.
This is a healthy/"Good Practice" use of 'sourcing'.
Its not the only one.

Your .profile and the base and X11 equivalents do a similar thing and they may also actually execute external programs, set things running in the background (such as ssh-agent).

What they are not doing, and what I would consider BAD PRACTICE is running in the current shell things that should be run in a sub-shell or sub-process.

Back when, UNIX started something radically different that we now consider the norm. Back when, processes were deemed expensive to create so they weren't. The CLI just ran one program at a time, had not control flow. There was a "Transient Program Area" and the CLI caused the executive to overlay the CLI with the application. Great for what were single process systems like CPM/DOS and their mainframe predecessors. When the application terminated the system somehow reloaded the CLI and you were off again.

What made UNIX radical was that the CLI, the shell, stuck around; process creation was cheap an easy and so the application was run in a sub-process. That meant the CLI could do things that weren't possible before. It could run a sequence of programs; it could run two (or more) child processes that were connected via pipe.

We take this for granted now, but back in the 70s and 80s this was radical. many people who had grown up with mainframe and mini OSes simply could not get their head around this. The idea of the CLI as a programming language was beyond them.

I am not joking.

I saw this persist into the 1980s. I worked at an establishment where I put up "Software Tools" on the VAX/VMS that I was using (UGH! FORTRAN!) and things really moved. My peers and managers didn't understand what the fuss was and in the end did not appreciate that I was (at least) 5 times as productive because I had suitable tools.

Realistically, its not just having the tools; they were there on the VAX for anyone to use. It is knowing how to use them and use them appropriately. I did; the people who saw VAX/VMS and the CLI and TPA model, processes being 'expensive' so run everything in the one 'shell', couldn't alter their thinking to the 'tools' and throwaway process ("grep for something....", "use sed to transform a file") mode of thinking. Not so much dinosaurs as snails.

You can see examples of appropriate use in the various shell scripts on the system. Back when, the PDP-11 days, version 6, 7, PDP-11s, small address spaces, small disks, script were used a LOT more than they are today. Pretty much out of necessity.





--
Leadership is understanding people and involving them to help you do a job. That takes all of the good characteristics, like integrity, dedication of purpose, selflessness, knowledge, skill, implacability, as well as determination not to accept failure. ~ Admiral Arleigh A. Burke
--
To unsubscribe, e-mail: opensuse+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse+help@xxxxxxxxxxxx


<Anterior por Tema] Tema Actual [Siguiente por Tema>