我在 Linux 服务器上运行 PHP,并且正在使用 PHP 的 fopen/fwrite 生成 bash 脚本以在 Mac 计算机上使用。它工作正常,除了行尾被写为 \r\n 而不是 \n,当我尝试在 Mac 上运行脚本时会导致错误。
如何强制 fwrite 使用 \n 而不是 \r\n 作为行尾?我试过 utf8_encoding 我的文本并强制二进制模式,但我似乎无法弄清楚!
$scriptFile = "/path/to/my/script.sh";
$fh = fopen($scriptFile, 'w');
fwrite($fh, "$script");
fclose($fh);
$script 是 mysql 中文本字段的内容,看起来有点像这样,通常:
# comment
echo "numphotos 1"
# comment
/opt/local/bin/gphoto2 --capture-image-and-download -F 1
# comment
echo "696969"