Мне бы хотелось, чтобы функция командной строки, которую я мог запустить в любом файле, изменила оператор PHP include("myinc.inc");
на include 'myfile.inc';
. Я начал с добавления следующего в мой ~ / .bashrc file:
function makestandard() {
perl -p -i -e 's/include\("([\w\.]+)"\)/include '$1'/g' $*
}
I source ~/.bashrc;
и запустите команду в командной строке следующим образом:
$ makestandard myfile.php
Я получу myfile.php , но вместозахватывая имя включенного файла, имя включенного файла будет повреждено, чтобы быть именем текущего файла.Как неосведомленное предположение, я думаю, что переменная bash $1
вмешивается в переменную $1
perl regexp.
Как это исправить?
Справочная информация ( не нужно читать ): мы начали использовать PHP_CodeSniffer (phpcs) , чтобы прослушивать код PHP и сообщать о любых неприятных "запахах".К сожалению, phpcs не исправляет нестандартный код, а только сообщает об этом.Поэтому я хотел бы создать скрипт, который исправляет некоторые простые и распространенные нестандартные элементы нашего PHP-кода.Я планирую заполнить свою makestandard
функцию bash связкой perl pie .
Оболочка: все, что есть в Ubuntu 10.04.