Articles of shell script

cómo verificar el directory está vacío

Tengo un requisito, si ejecuto un script ./123 con arguments de ruta vacía, diga /usr/share/linux-headers-3.16.0-34-generic/.tmp_versions (este directory está vacío). Debería mostrar "el directory está vacío" Mi código es: #!/bin/bash dir="$1" if [ $# -ne 1 ] then echo "please pass arguments" exit fi if [ -e $dir ] then printf "minimum file size: %s\n\t%s\n" \ […]

¿Cómo puedo asignar una contraseña inicial / pnetworkingeterminada a un usuario en Linux?

Encontré una guía que explica cómo configurar la contraseña de un usuario . Intento automatizarlo y enviar un correo electrónico al usuario como: userid created with password XYZ. request to change the initial password. De acuerdo con el documento anterior, una contraseña encriptada necesita ser creada usando Python y alimentada al command usermod esta manera: […]

Bash, ejecuta el command después de invocar un nuevo shell

Estoy tratando de hacer un script como este: #!/bin/bash sudo -s something… Cuando lo ejecuto, obtengo un nuevo shell pero something se ejecuta solo cuando salgo del shell creado por sudo -s , no dentro de él. ¿Alguna ayuda?

Construyendo paths robustamente

Digamos que tengo varias variables en un script de shell (por ejemplo, en zsh): FOLDER_1, FOLDER_2, etc. Estas variables se refieren a carpetas que descienden de / . Por ejemplo, si tengo un path /home/me/stuff/items las variables serían: FOLDER_1='home' FOLDER_2='me' FOLDER_3='stuff' Ahora, diga que quiero rebuild la ruta correspondiente concatenando las variables. Una posible forma […]

Unir arguments de bash en una sola cadena con espacios

Intento unir todos los arguments a una function de Bash en una sola cadena con espacios que separan cada argumento. También necesito que la cadena incluya comillas simples alnetworkingedor de toda la cadena. Esto es lo que tengo hasta ahora … $array=("$@") str="\'" for arg in "${array[@]}"; do let $str=$str+$arg+" " done let $str=$str+"\'" Obviamente, […]

Script de shell `rm -r`: Redirige el post de protección contra escritura y responde" n "

Tengo algunas líneas en un script de shell cuya function es iterar a través de directorys, relacionar algunos nombres y eliminarlos. Algunas áreas del sistema de files están protegidas contra escritura y me gustaría dejarlas, pero networkingirigir el aviso o alguna otra indicación del error a un logging cuando se encuentran. El uso del rm […]

Mostrar times de trabajo cron en un formatting amigable para los humanos

¿Hay alguna manera de mostrar o hay una herramienta que pueda analizar una expresión crontab y mostrarla de una manera amigable para los humanos? 10 6 * * * sh /usr/local/crons/file_check.sh Por ejemplo, para el cron anterior quiero que el time en el cronjob anterior se muestre como 06:10 hrs o de cualquier otra forma […]

Transencoding masiva de .flac -> .mp3: ¿Cómo escribir un script de shell que preserve la información de la label ID3?

En las últimas semanas he pasado de un enfoque bastante 'práctico' a la transencoding de .flac -> .mp3, a una que es mucho más 'establecida y olvidada'. El primer paso fue dejar de usar una interfaz gráfica de usuario (Audacity con un complemento LAME) y utilizar el método que describí aquí . El segundo paso […]

Editar el file de configuration a través de un script bash

He estado intentando escribir un script bash simple que usaré para instalar una aplicación y actualizar su file de configuration. Estoy teniendo dificultades para get su file de configuration modificado. # DBHost=localhost DBName=test # DBPassword= ¿Alguna sugerencia sobre cómo puedo modificarla como se muestra abajo? DBHost=localhost DBName=database DBPassword=password

¿Cómo usaría GNU Parallel para este ciclo while?

Así que tengo un ciclo while: cat live_hosts | while read host; do \ sortstuff.sh -a "$host" > sortedstuff-"$host"; done Pero esto puede llevar mucho time. ¿Cómo usaría GNU Parallel para este ciclo while?