Preguntas etiquetadas con shell-script

Preguntas sobre scripts de shell, archivos ejecutables que son interpretados por un shell (bash, zsh, etc.).

1
¿Qué hace "set -" en este punto de entrada de Dockerfile?
Estoy tratando de entender lo que hace este punto de entrada de Docker . Me parece que es un patrón muy común cuando escribo Dockerfiles, pero mis habilidades de bash son limitadas y no tengo idea de todos los símbolos especiales de bash kung fu. Además, es difícil buscar en …
41 shell-script  set 


5
¿Reemplazar variables de entorno en un archivo con sus valores reales?
¿Hay una manera fácil de sustituir / evaluar variables de entorno en un archivo? Como digamos que tengo un archivo config.xmlque contiene: <property> <name>instanceId</name> <value>$INSTANCE_ID</value> </property> <property> <name>rootPath</name> <value>/services/$SERVICE_NAME</value> </property> ... etc. Quiero reemplazar $INSTANCE_IDen el archivo con el valor de la INSTANCE_IDvariable de entorno, $SERVICE_NAMEcon el valor de la …


3
Prueba si una cadena contiene una subcadena
Tengo el codigo file="JetConst_reco_allconst_4j2t.png" if [[ $file == *_gen_* ]]; then echo "True" else echo "False" fi Pruebo si filecontiene "gen". El resultado es "Falso". ¡Agradable! El problema es cuando sustituyo "gen" con una variable testseq: file="JetConst_reco_allconst_4j2t.png" testseq="gen" if [[ $file == *_$testseq_* ]]; then echo "True" else echo "False" …

2
Unir argumentos bash en una sola cadena con espacios
Estoy tratando de unir todos los argumentos de una función Bash en una sola cadena con espacios que separan cada argumento. También necesito que la cadena incluya comillas simples alrededor de toda la cadena. Esto es lo que tengo hasta ahora ... $array=("$@") str="\'" for arg in "${array[@]}"; do let …

2
¿Cómo funciona awk '! A [$ 0] ++'?
Esta línea única elimina las líneas duplicadas de la entrada de texto sin ordenarlas previamente. Por ejemplo: $ cat >f q w e w r $ awk '!a[$0]++' <f q w e r $ El código original que he encontrado en Internet dice: awk '!_[$0]++' Esto fue aún más desconcertante …




2
¿Por qué está usando && 75 veces más rápido que si ... fi y cómo aclarar el código?
Tengo el siguiente código de trabajo: largest_prime=1 for number_under_test in {1..100} do is_prime=true factors='' for ((divider = 2; divider < number_under_test-1; divider++)); do remainder=$(($number_under_test % $divider)) [ $remainder == 0 ] && [ is_prime ] && is_prime=false && factors+=$divider' ' done [ $is_prime == true ] && echo "${number_under_test} is …


2
¿Qué significa "$ {- # * i}"! = "$ -" significa?
En /etc/profileveo esto: for i in /etc/profile.d/*.sh ; do if [ -r "$i" ]; then if [ "${-#*i}" != "$-" ]; then . "$i" else . "$i" >/dev/null 2>&1 fi fi done Que ${-#*i}significa No puedo encontrar una definición de inicio de expansión de parámetros ${-.



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.