Preguntas etiquetadas con bash

223
¿Cómo recorrer los nombres de archivo devueltos por find?

x=$(find . -name "*.txt") echo $x si ejecuto el fragmento de código anterior en Bash shell, lo que obtengo es una cadena que contiene varios nombres de archivos separados por espacios en blanco, no una lista. Por supuesto, puedo separarlos aún más en blanco para obtener una lista, pero estoy...

223
Prueba si un globo tiene alguna coincidencia en bash

Si quiero verificar la existencia de un solo archivo, puedo probarlo usando test -e filenameo [ -e filename ]. Supongamos que tengo un glob y quiero saber si existen archivos cuyos nombres coincidan con el glob. El globo puede coincidir con 0 archivos (en cuyo caso no necesito hacer nada), o puede...

222
¿Cómo enumero las funciones definidas en mi shell?

Puedo escribir alias para mostrar una lista de todos los alias. Pero para las funciones, todo lo que puedo hacer es grep my .bash_profile. Eso solo obtiene los que están en ese archivo, no los definidos en archivos subsidiarios o dinámicamente. ¿Hay alguna forma más conveniente de averiguar qué...

222
¿Cómo salir si falla un comando?

Soy un novato en scripting de shell. Quiero imprimir un mensaje y salir de mi script si falla un comando. He intentado: my_command && (echo 'my_command failed; exit) Pero no funciona. Sigue ejecutando las instrucciones siguiendo esta línea en el script. Estoy usando Ubuntu y...

221
¿Cómo ejecutar Conda?

Instalé Anaconda y puedo ejecutar Python, así que supongo que lo instalé correctamente. Siguiendo esta documentación introductoria , estoy intentando instalar Python v3.3, así que estoy copiando y pegando la siguiente línea en mi consola: conda create -n py33 python=3.3 anaconda Sin embargo, eso...

220
Resta dos variables en Bash

Tengo el script a continuación para restar los recuentos de archivos entre dos directorios, pero la COUNT=expresión no funciona. ¿Cual es la sintaxis correcta? #!/usr/bin/env bash FIRSTV=`ls -1 | wc -l` cd .. SECONDV=`ls -1 | wc -l` COUNT=expr $FIRSTV-$SECONDV ## -> gives 'command not found'...

217
Cómo detectar si se está obteniendo un script

Tengo un script en el que no quiero que llame exitsi se está buscando. Pensé en comprobar si $0 == bashesto tiene problemas si el script proviene de otro script o si el usuario lo obtiene de un shell diferente ksh. ¿Hay alguna forma confiable de detectar si se está obteniendo un...

213
¿Cómo instalar Homebrew en OS X?

Estoy tratando de instalar Homebrew en OS X. Según el sitio de Homebrew, debería escribir brew install wget y todo lo que obtengo es -bash: brew: command not found Así que busqué en StackOverflow y encontré esta respuesta . El problema, sin embargo, es que no veo brewen

213
¿Cómo insertar un texto al comienzo de un archivo?

Hasta ahora he podido encontrar cómo agregar una línea al comienzo de un archivo, pero eso no es exactamente lo que quiero. Lo mostraré en un ejemplo. Contenido del archivo some text at the beginning Resultado <added text> some text at the beginning Es similar pero no quiero crear...

213
Ordenar datos según la segunda columna de un archivo

Tengo un archivo de dos columnas y nnúmero de filas. la columna 1 contiene namesy la columna2 age. Quiero ordenar el contenido de este archivo en orden ascendente según age(en la segunda columna). El resultado debería mostrar el namede la persona más joven junto con la namesegunda persona más...

211
Múltiples comandos en un alias para bash

Me gustaría definir un alias que ejecute los siguientes dos comandos consecutivamente. gnome-screensaver gnome-screensaver-command --lock Ahora mismo he añadido alias lock='gnome-screensaver-command --lock' a mi .bashrc, pero dado que bloqueo mi estación de trabajo con tanta frecuencia, sería...

211
Devolver un booleano de una función Bash

Quiero escribir una función bash que verifique si un archivo tiene ciertas propiedades y devuelve verdadero o falso. Entonces puedo usarlo en mis scripts en el "si". ¿Pero qué debo devolver? function myfun(){ ... return 0; else return 1; fi;} entonces lo uso así: if myfun filename.txt; then...