Este contenido sólo se encuentra disponible para miembros premium. Si deseas hacerte premium, envíanos un mail a registro@algodelinux.com y te informaremos.
Supongamos que tenemos un fichero con URLs como la siguiente: es.archive.ubuntu.com/ubuntu/pool/main/a/accountsservice/accountsservice_0.6.45-1ubuntu1_i386.deb Y queremos quedarnos con la última parte, que coincide con el nombre del archivo. Ésto es muy fácil de…
fdupes es una interesante herramienta de línea de comandos que nos va a permitir gestionar archivos duplicados. Utilizando fdupes vamos a poder localizar y eliminar archivos duplicados. Si no tenéis esta…
En este post vamos a ver cómo utilizar el comando sed para reeemplazar un texto en las líneas de un archivo, excluyendo del reemplazo aquellas líneas que contengan un determinado…
Puede ser que tengas algún error de sintaxis. El comando let debería funcionarte de igual modo tanto si lo ejecutas en la línea de comandos como si lo ejecutas en un script. Si quieres, mándame tu script y le echo un vistazo.
Me pasa exactamente lo mismo que a "eXp", en el terminal, si uso el comando let me funciona, hace las cuentas que necesito, etc…Pero dentro del vim, cuando programo y posteriormente ejecuto el shell script no me funciona, me dice "let: not found", y no hace las cuentas :S…Ni idea la verdad, cualquier ayuda mil gracias
a mi me paso lo mismo al revisar varias veces me di cuenta q habia dejado un espacio d mas adelante de la variable un error boludo pero suele suceder y mas si estamos aprendiendo
a mi me paso lo mismo pero luego de revisar varias veces me di cuanta q cometi un error boludo dejar un espacio de mas adelant de la variable, suele suceder y mas cuando c esta aprendiendo espero q les sirva.
pd: me queria matar despues de perder tanto tiempo, pero fue comico
a mi me paso lo mismo pero luego de revisar varias veces me di cuanta q cometi un error boludo dejar un espacio de mas adelant de la variable, suele suceder y mas cuando c esta aprendiendo espero q les sirva.
pd: me queria matar despues de perder tanto tiempo, pero fue comico
a mi me paso lo mismo pero luego de revisar varias veces me di cuanta q cometi un error boludo dejar un espacio de mas adelant de la variable, suele suceder y mas cuando c esta aprendiendo espero q les sirva.
pd: me queria matar despues de perder tanto tiempo, pero fue comico
Hola. Sé que es antiguo pero no puedo resistir contestar a un anónimo con el error de "let: not found", por si a alguno le sucede lo mismo. En mi máquina si ejecuto:
sh script.sh
la orden let me falla. Me dice let:not found
Sin embargo si ejecutas el script (suponiendo que lo tengas en el directorio actual)
./script.sh
deja de dar dicho fallo. Por si a alguno le sucede igual que pruebe. Saludos.
Viendo tu comentario tan detallado, la respuesta es muy sencilla. /bin/sh suele ser un enlace a un shell. Por ejemplo, en debian /bin/sh es un enlace a /bin/dash. Por eso, no te funciona cuando lo ejecutas con:
sh script.sh
Y sí cuando le das permisos de ejecución y lo ejecutas con:
./script.sh
Comprueba cuál es tu shell, consultando la variable $SHELL:
echo $SHELL
En Debian el shell por defecto es bash, que sí tiene let. También te funcionará sin ningún problema si lo ejecutas así:
En mi opinión, si vas a tratar fechas, lo mejor es que te bases en el comando date.
No sé cuál es el problema real, pero puedes tomar una fecha base, calcular la diferencia con la fecha actual y realizar la acción que quieras cuando el contador llegue a un número determinado.
bueno se que es tarde pero de seguro que a alguien mas le servira… pasa que cuando ejecuto con sh ejemplo.sh me bota let: not found pero cuando ejecuto con source ejemplo.sh si funciona ami me funciono..!
Me ha servido tu post. gracias.
no me funciona m pone let: not found
No m funciona m pone let: not found
PORQUEEEEE????
L tngo q instalar alguna actualizacion
Tngo Ubuntu 7.10
¿Podrías enseñarme cómo lo has utilizado?
Soy principiante con esto de bash y, al ejecutar tu script, me dice:
script: 10: let: not found
El contador es 0
Lo curioso es que cuando uso let directamente en el prompt si que funciona. Puedo hacer:
root@e-kipo:# let a=10
root@e-kipo:# let b=5
root@e-kipo:# let c=$a+$b
root@e-kipo:# echo $c
15
Qué extraño no? uso Ubuntu 8.10 intrepid
Puede ser que tengas algún error de sintaxis. El comando let debería funcionarte de igual modo tanto si lo ejecutas en la línea de comandos como si lo ejecutas en un script. Si quieres, mándame tu script y le echo un vistazo.
A mi me funciona perfectamente.
Gracias
Me pasa exactamente lo mismo que a "eXp", en el terminal, si uso el comando let me funciona, hace las cuentas que necesito, etc…Pero dentro del vim, cuando programo y posteriormente ejecuto el shell script no me funciona, me dice "let: not found", y no hace las cuentas :S…Ni idea la verdad, cualquier ayuda mil gracias
P.D.: Uso Ubuntu 8.10
a mi me paso lo mismo
al revisar varias veces me di cuenta
q habia dejado un espacio d mas
adelante de la variable
un error boludo pero suele suceder y mas si estamos aprendiendo
a mi me paso lo mismo
pero luego de revisar varias veces me di cuanta q cometi un error boludo
dejar un espacio de mas adelant de la variable, suele suceder y mas cuando c esta aprendiendo
espero q les sirva.
pd: me queria matar despues de perder tanto tiempo, pero fue comico
a mi me paso lo mismo
pero luego de revisar varias veces me di cuanta q cometi un error boludo
dejar un espacio de mas adelant de la variable, suele suceder y mas cuando c esta aprendiendo
espero q les sirva.
pd: me queria matar despues de perder tanto tiempo, pero fue comico
"joacoo"
a mi me paso lo mismo
pero luego de revisar varias veces me di cuanta q cometi un error boludo
dejar un espacio de mas adelant de la variable, suele suceder y mas cuando c esta aprendiendo
espero q les sirva.
pd: me queria matar despues de perder tanto tiempo, pero fue comico
Un script que estaba haciendo, me fallaba en las asignaciones con set y me estaba volviendo loco, se me ocurrio probar con let… vi tu blog y voila!
Gracias artista!!!!
Hola. Sé que es antiguo pero no puedo resistir contestar a un anónimo con el error de "let: not found", por si a alguno le sucede lo mismo. En mi máquina si ejecuto:
sh script.sh
la orden let me falla. Me dice let:not found
Sin embargo si ejecutas el script (suponiendo que lo tengas en el directorio actual)
./script.sh
deja de dar dicho fallo. Por si a alguno le sucede igual que pruebe. Saludos.
Viendo tu comentario tan detallado, la respuesta es muy sencilla. /bin/sh suele ser un enlace a un shell. Por ejemplo, en debian /bin/sh es un enlace a /bin/dash. Por eso, no te funciona cuando lo ejecutas con:
sh script.sh
Y sí cuando le das permisos de ejecución y lo ejecutas con:
./script.sh
Comprueba cuál es tu shell, consultando la variable $SHELL:
echo $SHELL
En Debian el shell por defecto es bash, que sí tiene let. También te funcionará sin ningún problema si lo ejecutas así:
bash script.sh
Un saludo,
Esteban M.
Me has salvado la vida… Muchas gracias 😉
y si quiero hacer un contador que se me reinicie por día?
Como podría hacerlo?
Gracias
Hola, Paola:
En mi opinión, si vas a tratar fechas, lo mejor es que te bases en el comando date.
No sé cuál es el problema real, pero puedes tomar una fecha base, calcular la diferencia con la fecha actual y realizar la acción que quieras cuando el contador llegue a un número determinado.
#!/bin/bash
fechainicial="20140120"
DIFERENCIA=$((( $(date +%s) – $(date –date $fechainicial +%s) )/(60*60*24)))
echo "Días transcurridos desde $fechainicial: $DIFERENCIA"
Sufrí igual que algunos pero al final funcionó solo que no supe que estaba mal. 🙁 Gracias.
bueno se que es tarde pero de seguro que a alguien mas le servira…
pasa que cuando ejecuto con sh ejemplo.sh me bota let: not found
pero cuando ejecuto con source ejemplo.sh si funciona
ami me funciono..!