Articles of bash

Acabo de asignar una variable, pero echo $ variable muestra algo más

Aquí hay una serie de casos donde echo $var puede mostrar un valor diferente al que se acaba de asignar. Esto sucede independientemente de si el valor asignado fue “comillas dobles”, “comillas simples” o sin comillas. ¿Cómo obtengo que el shell establezca mi variable correctamente? Asteriscos El resultado esperado es /* Foobar is free software […]

Analizando JSON con herramientas Unix

Estoy tratando de analizar JSON devuelto de una solicitud curl, así: curl ‘http://twitter.com/users/username.json’ | sed -e ‘s/[{}]/”/g’ | awk -vk=”text” ‘{n=split($0,a,”,”); for (i=1; i<=n; i++) print a[i]}' Lo anterior divide el JSON en campos, por ejemplo: % … “geo_enabled”:false “friends_count”:245 “profile_text_color”:”000000″ “status”:”in_reply_to_screen_name”:null “source”:”web” “truncated”:false “text”:”My status” “favorited”:false % … ¿Cómo -vk=text un campo específico (indicado […]

¿Cuándo ajustar las comillas alrededor de una variable de shell?

¿Podría alguien decirme si debo o no incluir citas sobre las variables en un script de shell? Por ejemplo, es el siguiente correcto: xdg-open $URL [ $? -eq 2 ] o xdg-open “$URL” [ “$?” -eq “2” ] Y si es así, ¿por qué?

Diferencia entre comillas simples y dobles en Bash

En Bash, ¿cuáles son las diferencias entre comillas simples ( ” ) y comillas dobles ( “” )?

Obtener el directorio fuente de un script Bash desde dentro

¿Cómo obtengo la ruta del directorio en el que se encuentra un script de Bash , dentro de ese script? Por ejemplo, digamos que quiero usar un script Bash como iniciador para otra aplicación. Quiero cambiar el directorio de trabajo al que está ubicado el script Bash, así puedo operar los archivos en ese directorio, […]

Error de comando no encontrado en la asignación de variables Bash

Tengo este script llamado test.sh: #!/bin/bash STR = “Hello World” echo $STR cuando ejecuto sh test.sh obtengo esto: test.sh: line 2: STR: command not found ¿Qué estoy haciendo mal? Observo en línea los tutoriales básicos de bash / principiantes bash scripting y así es como dicen declarar variables … Así que no estoy seguro de […]

¿Cómo establecer una variable a la salida de un comando en Bash?

Tengo un script bastante simple que es algo como lo siguiente: #!/bin/bash VAR1=”$1″ MOREF=’sudo run command against $VAR1 | grep name | cut -c7-‘ echo $MOREF Cuando ejecuto este script desde la línea de comando y le paso los argumentos, no obtengo ningún resultado. Sin embargo, cuando ejecuto los comandos contenidos dentro de la variable […]

¿Cómo uso las variables de shell en un script awk?

Encontré algunas maneras de pasar variables de shell externas a un script awk , pero estoy confundido acerca de ‘ y ” . Primero, lo intenté con un script de shell: $ v=123test $ echo $v 123test $ echo “$v” 123test Luego intenté awk: $ awk ‘BEGIN{print “‘$v'”}’ $ 123test $ awk ‘BEGIN{print ‘”$v”‘}’ $ […]

¿Por qué debería haber un espacio después de ” en Bash?

Estaba tratando de escribir un script Bash que usa una statement if . if [$CHOICE -eq 1]; El script me estaba dando errores hasta que di un espacio después de [ y antes ] como se muestra a continuación: if [ $CHOICE -eq 1 ]; Mi pregunta aquí es: ¿por qué el espacio alrededor de […]