Articles of variable sustitución

bash + cómo definir la variable de matriz con el número de instancia

¿Es posible definir una variable llamada, por ejemplo, machine1 como machine $ counter (while counter = 1)? Por ejemplo, creé el file /tmp/config.txt y configuré el machine1 como una matriz: $ more /tmp/config.txt machine1=( linux_server critical 1.1.1.1 ) machine2=( linux_server critical 1.1.1.2 ) . . Luego, creé el siguiente script simple para leer el /tmp/config.txt […]

Bash: Cómo get un valor de una matriz para crear un command a partir de ella

¿Es posible utilizar bash para recuperar una cadena de una matriz proporcionada en la siguiente syntax dentro de un file de configuration? | | Version | PackageManager | Webserver | Database | |——–|———|—————-|———–|———-| | Centos | 7 | yum | httpd | mariadb | | Ubuntu | 14.04 | apt-get | apache | mysql | […]

Crear un contenido variable complejo a mano

Estoy creando un script de shell dinámicamente y enviándolo a un server remoto para su ejecución. Todo funciona, excepto cuando trato de inyectar una variable con contenido procedente de un file con varias líneas, comillas simples y dobles y otros caracteres especiales: el sistema intenta ejecutar el file. Ejemplo: my_script=$(cat some script.sh) cont=$(cat some_template_with_special_chars.sh) var='the_var_name_to_inject' […]

Prueba de cualquiera de una familia de valores relacionados en una variable Bash

Disculpas si esto ha sido respondido anteriormente, pero no pude encontrar mucho en línea. Esto es lo que estoy tratando de lograr: if [[ "${hostname}" = (foo | bar)servername(01 | 02 | 03) ]]; then var="foobarfoo" fi Con esto, cualquiera de los siguientes cumpliría los criterios: fooservername01, barservername02, fooservername03, barservername03, etc. Lo he logrado de […]

Bash: Echo una variable cuyo nombre es el valor de otra variable

Supongamos que tengo lo siguiente: foo1=abc i=1 a="FOO${i}" echo ${${a}} echo ${`echo $a`} # I also tried that Recibo el error bash: ${${a}}: bad substitution .

Declare como var local va a romper una function y cerrar la session "1: number expected"

function projectopen { local di_files=(*.xcworkspace */*.xcworkspace *.xcodeproj */*.xcodeproj) # open first exsit file ls -d -f -1 $di_files 2>/dev/null \ | head -1 \ | xargs open } Escribo una function de shell para abrir rápidamente xcworkspace en la terminal. Pero cuando declaro di_files como var local , entonces la function está rota, y logging […]

Subcadenas en script de shell

Estoy tratando de get una subcadena de una cadena pero estoy obteniendo el error: ${curr_rec:3:4}: bad substitution #!/bin/ksh get_file_totals() { if [ -e "$file_name" ] then IFS='' while read line do curr_rec=$line echo ${curr_rec:3:4} done < "$file_name" else echo "error" fi } file_name="$1" get_file_totals

Posible reutilizar el primer argumento de la línea BASH en la misma línea?

Hago esto en BASH echo test "$1" ..esperando get … test test ..pero me sale .. test ¿Es esto algo posible de hacer? Haría mi vida más fácil ya que al tener una list de files podría hacer algo como mv a/b/test.py proj_copy/$1

Reemplazar nombres de variables de shell en otra variable

He estado luchando con la sustitución variable bash desde hace un time y no puedo resolver esto … Tengo una variable con una plantilla de command: CMD_TMPL='sudo -u ${USER_NAME} ${USER_HOME}/script.sh' Las variables USER_NAME y USER_HOME se descifran más adelante en el script, aún no se conocen en el momento en que se define CMD_TMPL . […]

¿Alguna forma de crear aquí documentos que sustituyan algunas variables pero no otras en bash?

Me preguntaba si hay alguna manera de crear un documento aquí en bash para generar un file dentro de un script, el problema es que en este file de configuration bash dar salida a algunas variables que comienzan con $ Quiero replace, mientras que otras lo hago no. Déjame ilustrar: cat >> /opt/apache2/sites-available/$WEBSITENAME <<END-OF-FILE ServerName […]