/ / Jak mogę utworzyć ciąg poleceń bash z przekierowaniem i potokiem? - linux, bash, shell, pipe, io-przekierowanie

Jak utworzyć ciąg polecenia bash z przekierowaniem i potokiem? - linux, bash, shell, pipe, io-redirection

Chcę utworzyć ciąg komend bash za pomocąprzekierować i / lub potok i użyć go do wyświetlenia łańcucha poleceń lub wykonania łańcucha poleceń. Proste polecenie bez przekierowania lub działania potoku, ale ciąg poleceń z przekierowaniem lub potokiem nie działa. Na przykład,

command="echo 1"
$command
echo "$command"

wyświetliłoby się

1
echo 1

Jednak,

command="echo 1 | cat"
$command
echo "$command"

wyświetliłoby się

1 | cat
echo 1 | cat

ale ja chcę

1
echo 1 | cat

Podobnie w przypadku przekierowania

command="echo 1 | cat > 1.out"
$command
echo "$command"

wyświetliłoby się

1 | cat > 1.out
echo 1 | cat > 1.out

ale ja chcę

echo 1 | cat > 1.out

z nowym plikiem o nazwie „1.out” z zawartością 1.

Czy istnieje sposób na osiągnięcie tego, czego chcę?

Odpowiedzi:

5 dla odpowiedzi № 1

Jeśli chcesz, aby powłoka oceniła łańcuch jako polecenie, powiedz mu, aby to zrobił:

eval "$command"
echo "$command"