Foros del Web » Administración de Sistemas » Unix / Linux »

Problema Script: argumento con varias palabras

Estas en el tema de Problema Script: argumento con varias palabras en el foro de Unix / Linux en Foros del Web. Buenas. He hecho un script para convertir vídeos. Y me funciona bien siempre que los argumentos consistan en una palabra: Código: sh prueba2.sh video1.flv video1.mp4 ...
  #1 (permalink)  
Antiguo 27/09/2009, 04:56
 
Fecha de Ingreso: mayo-2009
Mensajes: 169
Antigüedad: 14 años, 11 meses
Puntos: 3
Problema Script: argumento con varias palabras

Buenas.
He hecho un script para convertir vídeos. Y me funciona bien siempre que los argumentos consistan en una palabra:

Código:
sh prueba2.sh video1.flv video1.mp4
Pero si los argumentos son dos palabras, me da el error "Video: no such file or directory". Es decir, si lo llamo así:

Código:
sh prueba2.sh "Video de ayer.flv" "Video de ayer.mp4"
Es decir, coge sólo la primera palabra como argumento. ¿Alguien sabe como debo de llamarlo?

Gracias
__________________
http://felinfo.blogspot.com/
  #2 (permalink)  
Antiguo 27/09/2009, 07:24
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 9 meses
Puntos: 76
Respuesta: Problema Script: argumento con varias palabras

Escapa los espacios con una barra invertida. Así:

Cita:
sh prueba2.sh "Video\ de\ ayer.flv" "Video\ de\ ayer.mp4"
Bueno, no sé si en ese caso las comillas son necesarias. Prueba con comillas y sin comillas.

Aunque lo mejor es que nunca uses espacios en los nombres de archivo, precisamente para evitar esto. En el trabajo se me ríen cuando uso guiones_bajos para simular espacios en los nombres de los archivos. Es una sana costumbre que ya jamás abandonaré. Es muy fácil saber qué archivos son de mi autoría, y cuáles no.
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
  #3 (permalink)  
Antiguo 27/09/2009, 07:33
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: Problema Script: argumento con varias palabras

Tienes que escapar los espacios con un backslash

video\ de\ ayer.flv

Ahh XD me ganaste por 9 minutos ¬¬
Ahora me pregunto, que paso en esos 9 minutos que no los recuerdo!
__________________
Drupal Argentina
  #4 (permalink)  
Antiguo 27/09/2009, 10:25
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 9 meses
Puntos: 76
Respuesta: Problema Script: argumento con varias palabras

Creo que has sido abducido.
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
  #5 (permalink)  
Antiguo 28/09/2009, 11:30
 
Fecha de Ingreso: mayo-2009
Mensajes: 169
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: Problema Script: argumento con varias palabras

Pues sigue sin funcionarme.
Lo llamo así:
Código:
sh prueba2.sh Muse\ Knights\ of\ Cydonia.flv Muse\ Knights\ of\ Cydonia.mp4
Y me devuelve:
Código Salida por pantalla::
Ver original
  1. Muse: no such file or directory
  2. “Primer argumento: Muse Knights of Cydonia.flv
  3. “Segundo argumento: Muse Knights of Cydonia.mp4

El script prueba contiene esto:
Código:
ffmpeg -pass 1 -passlogfile movieLog.txt -i $1 -b 750000 -vcodec mpeg4 -s 640x360 -acodec libfaac -ac 2 -ab 96000 $2
echo “Primer argumento: $1
echo “Segundo argumento: $2
__________________
http://felinfo.blogspot.com/
  #6 (permalink)  
Antiguo 29/09/2009, 11:53
Avatar de jotaaigriegao  
Fecha de Ingreso: marzo-2008
Mensajes: 60
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Problema Script: argumento con varias palabras

si captura bien los argumentos, no será que tienes que indicar la ruta donde están los archivos???
  #7 (permalink)  
Antiguo 29/09/2009, 12:20
 
Fecha de Ingreso: mayo-2009
Mensajes: 169
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: Problema Script: argumento con varias palabras

Jota, pues no, indicándole la ruta tampoco funciona.
¿Alguien lo sabe?
__________________
http://felinfo.blogspot.com/
  #8 (permalink)  
Antiguo 29/09/2009, 12:47
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: Problema Script: argumento con varias palabras

En tu caso te esta tomando la "variable" $1 como argumentos separados, es decir
$1 = Muse
$2 = Knights

Tendrias que hacerlo asi:

ffmpeg -pass 1 -passlogfile movieLog.txt -i "$1" -b 750000 -vcodec mpeg4 -s 640x360 -acodec libfaac -ac 2 -ab 96000 "$2"

Y al llamar a los argumentos entrecomillarlos o escaparlos

sh prueba2.sh 'Muse Knights of Cydonia.flv' 'Muse Knights of Cydonia.mp4'
sh prueba2.sh Muse\ Knights\ of\ Cydonia.flv Muse\ Knights\ of\ Cydonia.mp4

tengo la sensación de que funcionaria.
Por cierto por que no sigues el consejo de Defero, anda olvidandote de los espacios.

Por cierto ya que estamos podrias leer un poco: http://www.google.com/search?client=...utf-8&oe=utf-8
__________________
Drupal Argentina
  #9 (permalink)  
Antiguo 29/09/2009, 12:54
 
Fecha de Ingreso: mayo-2009
Mensajes: 169
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: Problema Script: argumento con varias palabras

Gracias Nucklear. Ya funciona.
Ya lo había probado lo de "$1" y por cierto lo leí en google.
Me faltó llamarlo con comillas simples.
Lo que quiero es convertir los videos que tengo sin cambiarles el nombre, por eso sigo utilizando los espacios, no por capricho.
__________________
http://felinfo.blogspot.com/
  #10 (permalink)  
Antiguo 29/09/2009, 13:42
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Respuesta: Problema Script: argumento con varias palabras

Cita:
Iniciado por Noelito3 Ver Mensaje
Lo que quiero es convertir los videos que tengo sin cambiarles el nombre, por eso sigo utilizando los espacios, no por capricho.
Sea como sea igual me suena a capricho
XD Suerte
__________________
Drupal Argentina
  #11 (permalink)  
Antiguo 30/09/2009, 13:37
Avatar de -Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 9 meses
Puntos: 76
Respuesta: Problema Script: argumento con varias palabras

Hace un tiempo vi no recuerdo dónde un script para cambiar por guiones bajos y de manera automatizada todos los espacios de los nombres de los archivos contenidos en un directorio. Te vendría bien. Siento no poder darte más detalles, creía haberlo guardado en los marcadores de Iceweasel, pero no está ahí.

Edición: Hoy es tu día de suerte.
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:07.