Preguntas etiquetadas con bash

Preguntas específicas para Bourne Again SHell de GNU, a diferencia de otros shells Bourne / POSIX. Para preguntas sobre shells de Unix en general, use la etiqueta / shell en su lugar.

2
¿Es un sub-shell lo mismo que un child-shell?
Existen estos dos nombres: un subshell y un shell secundario . Sí, se iniciará un proceso secundario por cualquiera de estos: sh -c 'echo "Hello"' ( echo "hello" ) echo "$(echo "hello") echo "hello" | cat ¿Son todos equivalentes y comparten el mismo nombre? ¿Todos comparten las mismas propiedades? POSIX …

2
No se puede usar! $ En el script?
Solo me pregunto por qué esto no funciona #!/bin/bash ls /bin ls !$ Espero correr ls /bindos veces, pero la segunda genera errores porque !$no fue interpretada ¿Me perdí algo o !$solo trabajé en la línea de comando? No pude encontrar parte relevante en man bash(en mac)
11 bash 

2
¿Cuál es la diferencia entre & 6 y / dev / fd / 6?
Para leer del descriptor de archivo 6 puedo usar <&6o </dev/fd/6(aka /proc/self/fd/6). Por lo general, ambos funcionan igual de bien. Sin embargo, si ese descriptor de archivo es un socket, suceden cosas extrañas. Por ejemplo: $ bash -c 'ls -l /dev/fd/6;cat /dev/fd/6' 6</dev/tcp/localhost/12345 lrwx------ 1 michas michas 64 Jan 10 …

1
Bash alias con un espacio como parte del comando
Estoy tratando de crear un alias bash, donde el alias en sí tiene un espacio. La idea es que el alias (es decir con) significa sudo openvpn --config /path/to/my/openvpn/configs/. Lo que resulta en un comando legible, cuando conse usa el alias. es decir: `con uk.conf` == `sudo openvpn --config /path/to/my/openvpn/configs/uk.conf` …


3
Cómo extender alias bash
¿Cómo crear un alias que realmente extienda otro alias del mismo nombre en Bash? Por qué: Solía han GREP_OPTIONSfijado en .bashrcque algo como esto: GREP_OPTIONS="-I --exclude=\*~" También tenía un script (digamos setup-java.sh) que llamaría antes de trabajar en algunos proyectos Java. Contendría la línea: GREP_OPTIONS="$GREP_OPTIONS --exclude-dir=classes" Si también uso Sass, …
11 bash  grep  alias 



2
¿Por qué bash se vincula a ncurses?
Creo que me he dado cuenta de esto antes, pero nunca lo pensé mucho; ahora estoy curioso. > ldd /bin/bash linux-vdso.so.1 => (0x00007fff2f781000) libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007f0fdd9a9000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f0fdd7a5000) libc.so.6 => /lib64/libc.so.6 (0x00007f0fdd3e6000) /lib64/ld-linux-x86-64.so.2 (0x00007f0fddbf6000) Libtinfo es parte de ncurses. Este es un sistema fedora, pero es lo …
11 bash  readline  ncurses 



6
Eliminar líneas de un archivo dependiendo de las líneas encontradas en otro archivo
El archivo file1.txt contiene líneas como: /api/purchase/<hash>/index.html Por ejemplo: /api/purchase/12ab09f46/index.html El archivo file2.csv contiene líneas como: <hash>,timestamp,ip_address Por ejemplo: 12ab09f46,20150812235200,22.231.113.64 a77b3ff22,20150812235959,194.66.82.11 Quiero filtrar file2.csv eliminando todas las líneas donde el valor de hash está presente también en file1.txt. Que quiere decir: cat file1.txt | extract <hash> | sed '/<hash>/d' file2.csv …


4
Salir de un script de shell con bucles anidados
Tengo un script de shell con bucles anidados y acabo de descubrir que "exit" realmente no sale del script, sino solo del bucle actual. ¿Hay otra forma de salir completamente del script en una determinada condición de error? No quiero usar "set -e", porque hay errores aceptables y requeriría demasiada …
11 bash  shell  scripting  exit 

5
bash: asignación de la primera línea de una variable a una variable
Tengo una variable multilínea, y solo quiero la primera línea en esa variable. El siguiente script demuestra el problema: #!/bin/bash STRINGTEST="Onlygetthefirstline butnotthesecond orthethird" echo " Take the first line and send to standard output:" echo ${STRINGTEST%%$'\n'*} # Output is as follows: # Onlygetthefirstline echo " Set the value of the …
11 bash 

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.