Fallo en pequeño script en bash

Iniciado por krovs, 25 Abril 2010, 14:30 PM

0 Miembros y 1 Visitante están viendo este tema.

krovs

Código (bash) [Seleccionar]
#!/bin/bash

declare -i G=0

while getopts :g: OPTIONS
do
 case $OPTIONS in
 g)
    G=1
    PATH=$OPTARG;;
 esac
done


if [ $G -eq 1 ]
then
 mkdir -p $PATH
 ls -l
fi


cualquier comando que escriba dentro del if me da fallo, me dice mkdir: command not found y ls: command not found, alguien sabe que puede ser? :s

gracias un saludoo

leogtz

Será un problema relacionado con el $PATH, lo tienes modificado, porque tu código funciona bien así:

Código (bash) [Seleccionar]
#!/usr/bin/bash

declare -i G=0

while getopts :g: OPTIONS
do
  case $OPTIONS in
  g)
     G=1
     PATH=$OPTARG;;
  esac
done


if [ $G -eq 1 ]
then
/bin/mkdir -p $PATH
/bin/ls -l
fi


Checa bien tu $PATH.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

krovs

pues si, el problema estaba en la variable PATH, por lo visto está reservada por el sistema, le he cmabiado el nombre y va perfecto.

graciass

un saludo