Atualmente estou trabalhando em fazer um script básico de Linux, de modo que ele leva qualquer número de argumentos e chama um script separado para imprimir o terceiro caractere de cada argumento em linhas separadas.
Eu fiz o roteiro para pegar o terceiro personagem, vamos chamá-lo "char3"
:
threeString=$1
echo ${threeString:2:1}
No entanto, para o script que chama char3
Não tenho certeza de como posso fazê-lo aceitar qualquer número de argumentos e percorrer cada um deles individualmente. Eu tentei apenas fazer em uma matriz, mas eu não sei como chamar o char3
script em vez de apenas codificá-lo em um novo script inteiramente.
Esta foi minha tentativa:
declare -a stringArr={ "$*" }
for i in "${stringArr[@]}"
do
./char3 i
done
$0,2,4
significa que em $ 0 obter o segundo char e depois seguir 4 chars. Por ex;echo helloman | awk '{print substr($0,2,4)}'
e a saída éello
(a resposta de nims @stackoverflow)