Mam następującą funkcję:
bar() { echo $1:$2; }
Wołam tę funkcję z innej funkcji foo
. foo
sam nazywa się w następujący sposób:
foo "This is" a test
Chcę uzyskać następujące dane wyjściowe:
This is:a
Oznacza to, że bar
otrzymywane argumenty powinny być tymi samymi tokenami, które przekazuję foo
.
Jak foo
należy to zrealizować? Próbowałem następujących dwóch implementacji, ale żadna nie działa:
foo() { bar $*; }
- wynik:
this:is
foo() { bar "$*"; }
- wynik:
this is a test:
Moje pytanie brzmi, w jaki sposób mogę zachować cytowanie argumentów. Czy to w ogóle jest możliwe?