Estoy escribiendo un script bash donde quiero salir si el usuario no es root. El condicional funciona bien, pero el script no sale. [[ `id -u` == 0 ]] || (echo "Must be root to run script"; exit) He intentado usar en &&lugar de ;pero tampoco
Estoy escribiendo un script bash donde quiero salir si el usuario no es root. El condicional funciona bien, pero el script no sale. [[ `id -u` == 0 ]] || (echo "Must be root to run script"; exit) He intentado usar en &&lugar de ;pero tampoco
Considere el siguiente nombre de script (ligeramente tonto) 'test1.sh': #/bin/bash # sleep 10 & echo sleep pid = $! pkill sleep Cuando lo ejecuto, obtengo no solo la salida del eco, sino el informe de bash de la muerte del sueño en stderr: $ ./test1.sh sleep pid = 3551 ./test1.sh: line 5:...
A veces veo scripts utilizan todas estas diferentes formas de citar un texto: "...", '...', $'...', y $"...". ¿Por qué se utilizan tantos tipos diferentes de cotizaciones? ¿Se comportan de manera diferente o afectan lo que puedo hacer dentro de
Tengo un script que no sale cuando lo quiero. Un script de ejemplo con el mismo error es: #!/bin/bash function bla() { return 1 } bla || ( echo '1' ; exit 1 ) echo '2' Supongo que vería la salida: :~$ ./test.sh 1 :~$ Pero en realidad veo: :~$ ./test.sh 1 2 :~$ ¿El ()comando...
unset array[0]elimina el elemento pero aún así, si lo hago echo ${array[0]}, obtengo un valor nulo, además, hay otras formas de hacerlo, pero si un elemento de una matriz contiene espacios como el siguiente array[0]='james young' array[1]='mary' array[2]='randy orton' pero estos tampoco hacen el...
He notado que {se puede usar en la expansión de llaves: echo {1..8} o en la agrupación de comandos: {ls;echo hi} ¿Cómo sabe bash la
Entonces, eliminé mi carpeta de inicio (o, más precisamente, todos los archivos a los que tenía acceso de escritura). Lo que pasó es que tuve build="build" ... rm -rf "${build}/"* ... <do other things with $build> en un script bash y, después de no necesitarlo más $build, eliminar la...
¿Cuál es una forma rápida de línea de comando para cambiar entre múltiples directorios para la administración del sistema? Quiero decir, puedo usar pushd .y popdalternar, pero ¿qué pasa si quiero almacenar múltiplos y recorrerlos, en lugar de sacarlos permanentemente del fondo de la...
Tengo un script que necesita crear archivos temporales para su trabajo, y limpiar después de sí mismo. Mi pregunta es acerca de encontrar el directorio base correcto para los archivos temporales. El script debe funcionar en múltiples plataformas: Git Bash (Windows), Solaris, Linux, OSX. En cada...
El propósito de esta pregunta es responder a una curiosidad, no resolver un problema informático en particular. La pregunta es: ¿por qué las utilidades obligatorias POSIX no suelen integrarse en las implementaciones de shell? Por ejemplo, tengo un script que básicamente lee algunos archivos de...
Tengo una matriz que contiene algunos elementos, pero quiero empujar nuevos elementos al comienzo de la matriz; ¿Cómo puedo hacer
He pirateado muchos scripts de shell, y a veces las cosas más simples me desconciertan. Hoy me encontré con un script que hizo un uso extenso del :bash (colon) incorporado. La documentación parece bastante simple: : (a colon) : [arguments] No haga nada más que expandir argumentos y...
En wikipedia, el artículo para .sh dice: Para el tipo de extensión de archivo .sh, vea Bourne shell . ¿Qué hay de otras conchas de Unix? Sé que el shebang se usa dentro del archivo para indicar un intérprete para la ejecución, pero me pregunto: ¿Cuáles son los pros y los contras de las...
Hay varias formas de ejecutar un script, las que conozco son: /path/to/script # using the path (absolute or relative) . script # using the . (dot) source script # using the `source` command ¿Son más de esto? Cuáles son las diferencias entre ellos? ¿Hay situaciones en las que debo usar una y no...
Cuando trato de correr ./script.shme sale Permission deniedpero cuando corro bash script.shtodo está bien. ¿Qué hice
¿Cuál es la mejor manera (confiable, portátil, etc.) de verificar si una carpeta determinada está en un sistema de archivos remoto montado (nfs) dentro de un script de shell? Estoy buscando un comando que se vea así: chk-remote-mountpoint /my/path/to/folder
Quiero hacer algo como esto: if cmd1 && cmd2 echo success else echo epic fail fi ¿Cómo debería
En bash scripting: creamos variable con solo nombrarla: abc=ok o podemos usar declare declare abc=ok ¿cual es la diferencia? ¿Y por qué bash hace tantas formas de crear una
Estoy buscando escribir un script que tome un .txtnombre de archivo como argumento, lea el archivo línea por línea y pase cada línea a un comando. Por ejemplo, se ejecuta command --option "LINE 1", luego command --option "LINE 2", etc. La salida del comando se escribe en otro archivo. ¿Cómo hago...
Quiero probar mi script con un comando que falla. Podría usar un comando existente con malos argumentos. También podría escribir un script simple que salga inmediatamente con una falla. Ambos son fáciles de hacer y funcionan para mí, pero si hay un comando estándar para este propósito, me gustaría...