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í.



5
Número de caracteres en la salida de un comando de shell
Estoy escribiendo un script que necesita calcular el número de caracteres en la salida de un comando en un solo paso . Por ejemplo, el uso del comando readlink -f /etc/fstabdebería regresar 10porque la salida de ese comando tiene 10 caracteres de longitud. Esto ya es posible con variables almacenadas …
12 shell  string  variable 


3
Entrar en un directorio vinculado por un enlace
Cuando hago cdun enlace, mi ruta actual tiene como prefijo la ruta del enlace, en lugar de la ruta del directorio al que se vincula el enlace. P.ej ~/dirlinks/maths$ ls -l logic lrwxrwxrwx 1 tim tim 71 Jul 27 10:24 logic -> /windows-d/academic discipline/study objects/areas/formal systems/logic ~/dirlinks/maths$ cd logic ~/dirlinks/maths/logic$ …

3
Pase múltiples comandos al rebaño
flock -x -w 5 ~/counter.txt 'COUNTER=$(cat ~/counter.txt); echo $((COUNTER + 1)) > ~/counter.txt' ¿Cómo pasaría múltiples comandos flockcomo en el ejemplo anterior? Según tengo entendido, flocktoma diferentes indicadores (-x para exclusivo, -w para tiempo de espera), luego el archivo para bloquear y luego el comando para ejecutar. No estoy seguro …

7
marca de tiempo antes de un eco
Existe una mejor manera de crear una marca de tiempo frente a un echo? Actualmente lo hago de esta manera: #!/bin/sh if mount | grep -q /mnt/usb; then echo `date +%R\ ` "usb device already mounted" else echo `date +%R\ ` "mounting usb device..." mount -t msdosfs /dev/da0s1 /mnt/usb if …
12 shell  timestamps  echo 


4
Ejecutar múltiples comandos nohup en segundo plano
Tengo dos comandos cmd1 y cmd2. De los dos, cmd2 tarda más en terminar. Necesita ejecutar cmd2 y luego cmd1. Intenté ejecutarlos de la siguiente manera: bash$ (nohup ./cmd2>result2 &) && nohup ./cmd1>result1 & o bash$ (nohup ./cmd2>result2 &) ; nohup ./cmd1>result1 & Pero en ambas ocasiones puedo ver que …

3
Identificar el administrador de paquetes del sistema
¿Hay alguna forma (desde un script) de identificar el administrador de paquetes del sistema predeterminado? Para aclarar, lo que quiero hacer es ejecutar un comando dado y, en Debian o cualquiera de sus derivados, devolverá algo así como "apt", en openSUSE devolverá "zypp", en Fedora y otros devolverá "mmm", en …



4
finalización de la pestaña zsh en línea vacía
Me gustaría un tcsh'ism que no he podido encontrar: en una línea en blanco sin contenido, quiero presionar la tecla de tabulación y ver el equivalente de un ls. Es decir que quiero $ <tab> para hacer otra cosa y luego darme un \ t. He encontrado recursos fantásticos para …

4
¿Escribir en un archivo sin redireccionamiento?
Estoy escribiendo una aplicación compilada regular que necesita crear un archivo especial y escribir una cookie mágica en él. No puedo escribir el archivo directamente desde la aplicación, el modelo de seguridad del sistema requiere que inicie una herramienta auxiliar con privilegios elevados para hacer el truco. Puedo proporcionar cualquier …

3
¿Cómo portar matrices de estilo bash a cenizas?
Hace algún tiempo escribí un script bash que ahora debería poder ejecutarse en un entorno ash. En bashfue como: services=( "service1.service" "service2.service" "service3.service" ) for service in "${services[@]}" do START $service done START() { echo "Starting "$1 systemctl start $1 } En realidad, hay como 40 servicios en matriz, y …
12 bash  shell  array  ash 

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.