Поскольку вы используете двойные кавычки, с
/bin/bash -c "function a () { echo $1 "world";} && a hello"
будет заменено текущее значение $1
, которое должно быть пустым в вашей среде, чтобы оно стало
/bin/bash -c "function a () { echo "world";} && a hello"
что на самом деле
/bin/bash -c "function a () { echo world;} && a hello"
.
Вы можете использовать одинарные кавычки для внешнего цитирования:
[STEP 101] # /bin/bash -c 'function a () { echo $1 "world";} && a hello'
hello world
[STEP 102] #