Preguntas etiquetadas con variable

Una variable es un nombre, si se elige correctamente con un significado simbólico, que contiene un valor o valores. Use esta etiqueta si su pregunta es específica sobre el uso de variables en el script de shell (si desea preguntar sobre variables en lenguajes de programación, probablemente debería preguntar en StackOverflow)

2
¿Cómo insertar variables dentro de una cadena que contiene ""?
Quiero construir una cadena xml insertando variables: str1="Hello" str2="world" xml='<?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2>' echo $xml El resultado debería ser <?xml version="1.0" encoding="iso-8859-1"?><tag1>Hello</tag1><tag2>world</tag2> Pero lo que obtengo es: <?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2> También intenté xml="<?xml version="1.0" encoding="iso-8859-1"?><tag1>$str1</tag1><tag2>$str2</tag2>" Pero eso elimina las comillas dobles internas y da: <?xml version=1.0 encoding=iso-8859-1?><tag1>hello</tag1><tag2>world</tag2>
25 bash  shell  variable  xml 



5
¿Por qué usar comillas dobles en una prueba [[]]?
Digamos que tenemos 2 enteros en un script bash: value1=5 value2=3 Entonces, ¿por qué necesitamos usar comillas dobles en caso de una prueba? Por ejemplo: if [[ "$value1" -eq "$value2" ]] ¿Por qué no solo usar lo siguiente? if [[ $value1 -eq $value2 ]] Para mí, las comillas dobles no …
23 bash  shell  quoting  variable  test 



2
Establecer una variable de shell en una forma de fusión nula
Soy realmente aficionado a la "fusión nula", donde puede establecer una variable en el primer valor "no nulo" en una lista de cosas. Muchos idiomas admiten esto, por ejemplo: C#: String myStr = string1 ?? string2 ?? "default"; JavaScript: var myStr = string1 || string2 || "default"; ... etc. Tengo …
20 bash  shell  variable 

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



5
La tubería asigna variable
Para simplificar, me gustaría hacer: echo cart | assign spo; echo $spo Salida: carro ¿Existe tal assignaplicación? Soy consciente de todas las formas de hacer esto usando la sustitución.
19 bash  variable 

3
Usar variables de shell para opciones de comando
En un script Bash, estoy tratando de almacenar las opciones que estoy usando rsyncen una variable separada. Esto funciona bien para opciones simples (como --recursive), pero me encuentro con problemas con --exclude='.*': $ find source source source/.bar source/foo $ rsync -rnv --exclude='.*' source/ dest sending incremental file list foo sent …
19 bash  variable 

1
¿Por qué $ {$ #} devuelve el mismo resultado que $$ en el shell?
Al intentar obtener el último parámetro posicional establecido /bin/dash, lo intenté echo ${$#}. Sorprendentemente, esto no resultó en un error, sino en PID, que es lo mismo que el $$contenido variable. Pregunta, ¿por qué funcionó esa sintaxis? ¿Cuál es la regla de sintaxis que Shell aplicó aquí? Básicamente, lo que …
18 shell  variable 

3
¿Por qué fallan las opciones en una variable entre comillas, pero funcionan cuando no están entre comillas?
Leí sobre eso debería citar variables en bash, por ejemplo, "$ foo" en lugar de $ foo. Sin embargo, mientras escribía un script, encontré un caso en el que funciona sin comillas pero no con ellas: wget_options='--mirror --no-host-directories' local_root="$1" # ./testdir recieved from command line remote_root="$2" # ftp://XXX recieved from …

6
¿Se deben citar las variables cuando se ejecutan?
La regla general en las secuencias de comandos de shell es que las variables siempre se deben citar a menos que haya una razón convincente para no hacerlo. Para obtener más detalles de los que probablemente quiera saber, eche un vistazo a estas excelentes preguntas y respuestas: implicaciones de seguridad …

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.