Я думаю, что есть только некоторые ошибки цитирования с этой строкой perl.
system
принимает список строк в качестве аргументов, поэтому я изменил это цитирование на список строк. - Прямо сейчас я думаю, что perl анализирует эту строку и ожидает, что
bash
будет именем некоторой переменной.
- Текущее форматирование c был выключен. Я думаю, что
;
после END_SHELL_CODE в первой строке и наличие END_SHELL_CODE
в одинарных кавычках в конце не работает с форматированием perl, поэтому я удалил это.
Как-то так у меня сработало:
system('bash', '-c', <<'END_SHELL_CODE'
AWS_Base="/run/user/1000/gvfs/smb-share:server=192.168.0.205,share=zmd-backup"
pushd /home/zmd/AWS/AWS_DataDirs
cp -R $AWS_Base/* ./
popd
END_SHELL_CODE
);