/ / prechádzajúce reťazce do slučky - shell

prechádzajúce reťazce do slučky

Snažím sa prejsť dve struny na chvíľu slučku, ale zabudol som syntax, prosím, pomôžte mi. To je to, čo sa snažím -

#!/bin/bash
while read line
do
echo "successful"
done < "var1" "var2"
exit

Viem, že tu robím niečo nesprávne, používal som prechody reťazcov, zatiaľ čo slučka, ale zabudol som syntax. Pomôžte mi tu.

Som si vedomý -

#!/bin/bash
while read line
do
echo "successful"
done < "file_containing_var1_and_var2"

ale chcem prechádzať reťazce a nie súbor, kým slučka, akákoľvek pomoc je ocenený.

odpovede:

5 pre odpoveď č. 1

< operátor presmerovania funguje iba so súbormi. pre vašu požiadavku použite a for loop

#!/bin/bash


for x in "var1" "var2"
do
echo $x
done

4 pre odpoveď č. 2

Preniesť reťazec do vášho while slučka, ktorú potrebujete použiť herestring <<< notácie.

$ while read line; do
echo "$line"
done <<< "This is my test line"
This is my test line

2 pre odpoveď č. 3
printf "%sn" "var1" "var2" |
while read line
do
echo "successful: $line"
done

Na printf príkaz ozveny každého argumentu riadku sama.


1 pre odpoveď č. 4

Si môžete potrubia do chvíľu slučky:

#!/bin/bash
echo "var1" "var2" | while read line
do
echo "successful: $line"
set "$line"
echo "v1: $1 v2: $2"
done

Výkon:

successful: var1 var2
v1: var1 v2: var2