Вы всегда должны экранировать переменные, которые подставляете в командные строки, и PHP предоставляет функцию escapeshellarg()
для этого.
$output = shell_exec("/path/to/bash/script.sh " . escapeshellarg($filechosen));
или
$escaped = escapeshellarg($filechosen);
$output = shell_exec("/path/to/bash/script.sh $escaped");
Поскольку у меня та же проблема, наиболее близким решением, которое я нашел, является использование приложения Эрики Садун под названием KeysPlease , которое доступно через cydia и modmyi. Это описание «Используйте soft kb даже при подключении к BT kb».
Кроме того, я обнаружил, что если у вас также есть физическая клавиатура, в моем случае через документ на клавиатуре iPad вы можете вызвать клавиатуру с помощью клавиши, которая, по-видимому, сопоставлена с клавишей извлечения на клавиатуре Bluetooth. Возможно, есть способ ввести эту клавишу, как если бы она была нажата на подключенной клавиатуре?
Мне бы очень хотелось, чтобы было более официальное решение для кодирования.