Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/06/2007, 06:04
chelix
 
Fecha de Ingreso: septiembre-2006
Ubicación: Montevideo
Mensajes: 46
Antigüedad: 18 años, 2 meses
Puntos: 1
redirigiendo entrada/salida

Buenas,

Les cuento que estoy haciendo un script de bash que quiero que me arme un archivo separado por comas, uno de esos archivos q despues se importan y exportan.

Les planteo una parte del problema ya que a partir de allí espero poder desenvolverme mejor.

Sé que si escribo en el Shell algo como:

# cat miarchivo | $HOME/miscript.sh

estoy redirigiendo la salida de cat a la entrada de mi script mediente el pipe '|'. Supongamos que $HOME/miscript.sh es como sigue:

#!/bin/bash
echo $#
exit 0
#FIN

y que miarchivo tiene una sola linea como la siguiente:

drwxrwxr-x 21 root root 4096 may 30 18:03 Alfabetos

Lo que no logro entender es porque si redirijo la salida del 1er comando a la entrada del 2º, el script me imprime en pantalla que no tiene parametros pasados. Aclaro que la variable $# guarda la cantidad de parametros q se le pasan al script Osea q me imprime en pantalla un 0.

Y la duda surge porque si escribo:

# $HOME/miscript.sh drwxrwxr-x 21 root root 4096 may 30 18:03 Alfabetos

$HOME/miscript.sh me devuelve 9, o sea q los datos que son parametros se reciben de una forma y no de otra, cuando tenia entendido y por todo lo que pude ver en internet que las 2 formas son equivalentes.

Si alguien sabe a que se debe esto le agradeceria ya que logicamente es mucho mejor utilizar la forma que describi primero.

Saludos.