[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ls y break



El 19/05/12, Camaleón <noelamac@gmail.com> escribió:
> El Sat, 19 May 2012 18:06:37 +0200, Alfonso Egea Callejas escribió:
>
>> Me interesaría que en un script se utilizase el "primer" elemento de una
>> carpeta únicamente para llevar a cabo una acción. Es decir si:
>>
>> $ ls carpeta
>> aa   bb   cc
>>
>> busco una orden que devuelva aa.
>>
>> Buscando con ls --help, man ls y google lo más parecido que he
>> encontrado es romper un ciclo for con break:
>>
>> for i in `ls carpeta`; do
>> echo $i
>> break
>> done
>>
>> pero me parece raro que no haya una opción de ls para listar únicamente
>> el primer elemento... sabéis si la hay?
>
> Bueno, eso no es tarea para el comando "ls", recuerda que en linux se
> prefiere aplicaciones pequeñas y muy especializadas para cada cosa :-)

Cierto, y de hecho me parece muy bien, pero como últimamente me paso
el día en R esperaba algo como carpeta[1] o carpeta[2] :P del estilo

$ ls carpeta -1
o
$ ls carpeta --position=1

>
>> Muchas gracias de antemano a todos.
>>
>> Alfonso
>>
>> PD: si no quisiese hacer más operaciones después del done, que cambia
>> entre el break y un exit 0? Gracias de nuevo.
>
> Aquí tienes la explicación de cada uno de ellos:
>
> http://www.gnu.org/software/bash/manual/html_node/Bourne-Shell-Builtins.html#Bourne-Shell-Builtins
>
> break
> break [n]
> Exit from a for, while, until, or select loop. If n is supplied, the nth
> enclosing loop is exited. n must be greater than or equal to 1. The
> return status is zero unless n is not greater than or equal to 1.
>
> exit
> exit [n]
> Exit the shell, returning a status of n to the shell's parent. If n is
> omitted, the exit status is that of the last command executed. Any trap
> on EXIT is executed before the shell terminates.

Ok, en el caso de mi aplicación no tiene mucha importancia, pero
muchas gracias! Me has hecho descubrir select :)

Saludos,

Alfonso


Reply to: