Удаляет ли 'sudo apt-get purge postgr*' файлы базы данных?

Asumiendo que los valores no tienen líneas nuevas, entonces :Su código con cambios mínimos para que funcione :El shebang debe ser#!/bin/bash(ksh o zsh )ya que está usando <<<.

i=1
while [ "$i" -le 4 ] 
do
    A=$(awk -v var="$i" -F_ '{print $var}' <<< 'one_two_test_three')
    echo "$A"
    i=$((i+1))
done

Sin embargo, como la cadena proviene del caparazón, esto podría simplificarse a:

IFS=_ read v1 v2 v3 v4 <<<'one_two_test_three'
printf '%s\n' "$v1" "$v2" "$v3" "$v4"

Y usando una matriz de valores (número variable de valores):

#!/bin/bash
IFS=_ read -a v <<<'one_two_test_three'
printf '%s\n' "${v[@]}"

Si se requiere que se use un shell más simple:

#!/bin/sh
IFS=_ read v1 v2 v3 v4  <<-_expandvar_
one_two_test_three
_expandvar_
printf '%s\n' "$v1" "$v2" "$v3" "$v4"

Por supuesto, si no hay necesidad de establecer una variable ni es un problema establecer el valor de IFS en un script:

#/bin/sh
a='one_two_test_three'
IFS=_
set -f
printf '%s\n' $a

Tenga en cuenta que la variable se está utilizando sin -entre comillas, lo que puede ser inseguro.

2
14.05.2019, 18:29
0 ответов

Теги

Похожие вопросы