Preguntas etiquetadas con shell

El shell es la interfaz de línea de comandos de Unix. Puede escribir comandos en un shell de forma interactiva o escribir scripts para automatizar tareas. Use esta etiqueta para las preguntas que se aplican a / bin / sh y la mayoría de los shells compatibles (ash, bash, ksh, zsh, ...). Para los scripts de shell con errores, verifíquelos en http://shellcheck.net antes de publicarlos aquí.


4
dirname y basename vs parámetro de expansión
¿Hay alguna razón objetiva para preferir una forma a la otra? ¿Rendimiento, fiabilidad, portabilidad? filename=/some/long/path/to/a_file parentdir_v1="${filename%/*}" parentdir_v2="$(dirname "$filename")" basename_v1="${filename##*/}" basename_v2="$(basename "$filename")" echo "$parentdir_v1" echo "$parentdir_v2" echo "$basename_v1" echo "$basename_v2" Produce: /some/long/path/to /some/long/path/to a_file a_file (v1 usa la expansión de parámetros de shell, v2 usa binarios externos).

3
¿se canaliza ls igual que ls -1?
lsdevuelve resultados en varias columnas, mientras que ls|catdevuelve resultados idénticos en bytes con los ls -1directorios que he probado. Todavía veo ls -1respuestas entubados, como ls -1|wc -l. ¿Hay alguna razón para preferir ls -1? ¿Por qué ...|catcambia la salida de ls?
19 shell  ls 

1
echo [9876543210] muestra 1 4 5 6 ... ¿por qué?
¿Por qué se muestra 1 4 5 6 para las últimas cuatro declaraciones de eco? Golpeé esto por accidente una vez, pero ahora tengo curiosidad por saber por qué ocurre este comportamiento. Estas declaraciones funcionan como se esperaba (para mí). $ echo [ 9876543210 ] [ 9876543210 ] $ echo …





5
¿Por qué usar diff / patch cuando es más fácil usar cp?
diff -u file1.txt file2.txt > patchfile crea un archivo de parche que consiste en instrucciones para patchconvertir file1.txt para que sea exactamente como file2.txt ¿No se puede hacer esto usando el cpcomando? Me imagino que esto será útil cuando el archivo es demasiado grande y tiene que transferirse a una …
19 shell  cp  diff  patch 




9
¿Usar "while true" para mantener vivo un script es una buena idea?
Solo estoy saltando a Unix desde un mundo diferente, y quería saber si while true do /someperlscript.pl done El script perl en sí tiene internamente una carpeta / observador de archivos que se ejecuta cuando los archivos se cambian en la ubicación de destino. ¿Es esta ( while true) una …
19 shell  perl 


4
Cómo asignar valores que contienen espacio a variables en bash usando eval
Quiero asignar valores dinámicamente a variables usando eval. El siguiente ejemplo ficticio funciona: var_name="fruit" var_value="orange" eval $(echo $var_name=$var_value) echo $fruit orange Sin embargo, cuando el valor de la variable contiene espacios, evaldevuelve un error, incluso si $var_valuese coloca entre comillas dobles: var_name="fruit" var_value="blue orange" eval $(echo $var_name="$var_value") bash: orange : …
19 bash  shell  quoting 

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.