Test Foro de elhacker.net SMF 2.1

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 (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
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 (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.
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