Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: krovs en 25 Abril 2010, 14:30 pm



Título: Fallo en pequeño script en bash
Publicado por: krovs en 25 Abril 2010, 14:30 pm
Código
  1. #!/bin/bash
  2.  
  3. declare -i G=0
  4.  
  5. while getopts :g: OPTIONS
  6. do
  7.  case $OPTIONS in
  8.  g)
  9.     G=1
  10.     PATH=$OPTARG;;
  11.  esac
  12. done
  13.  
  14.  
  15. if [ $G -eq 1 ]
  16. then
  17.  mkdir -p $PATH
  18.  ls -l
  19. 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


Título: Re: Fallo en pequeño script en bash
Publicado por: leogtz en 25 Abril 2010, 20:50 pm
Será un problema relacionado con el $PATH, lo tienes modificado, porque tu código funciona bien así:

Código
  1. #!/usr/bin/bash
  2.  
  3. declare -i G=0
  4.  
  5. while getopts :g: OPTIONS
  6. do
  7.  case $OPTIONS in
  8.  g)
  9.     G=1
  10.     PATH=$OPTARG;;
  11.  esac
  12. done
  13.  
  14.  
  15. if [ $G -eq 1 ]
  16. then
  17. /bin/mkdir -p $PATH
  18. /bin/ls -l
  19. fi

Checa bien tu $PATH.


Título: Re: Fallo en pequeño script en bash
Publicado por: krovs en 26 Abril 2010, 12:24 pm
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