Это происходит потому, что в момент установки переменной 'text', все остальные пустые, по умолчанию это пустая строка "".
Попробуйте установить text
в качестве команды и сохранить ее с ('), а не с ("), чтобы bash не оценил ваше выражение, тогда, если вы это сделаете.
$ text='echo "var1 = $one var2 = $two"'
$ one=hi
$ two=bye
то eval $text
вернет var1 = hi var2 = bye
Команда find
печатает путь, весь относительный путь, откуда вы вызвали команду.
Но если вам нужен полный абсолютный путь к каждому файлу, просто используйте:
find "$PWD" -size 0 -print
Вот именно.