Bash Windows批处理输出换行女性字符
所有bash脚本中都会以“女性符号”的形式打印出一个额外的表单提要字符Bash Windows批处理输出换行女性字符,bash,Bash,所有bash脚本中都会以“女性符号”的形式打印出一个额外的表单提要字符 人物:♀ 数字代码:和#9792 十六进制代码:♀ 主要的问题是表单提供的是不可打印的字符。因此,处理路径的大多数bash脚本没有为表单提要和崩溃实现过滤机制 我正在尝试使用Ant工具为android构建一个APK,而女性符号破坏了脚本 我还可以在从bash运行的所有PHP脚本中看到女性符号。下面是一个简单的测试脚本: if (isset($argv[1])) { echo "\nString\n
- 人物:♀李>
- 数字代码:和#9792强>
- 十六进制代码:♀强>
if (isset($argv[1])) {
echo "\nString\n";
} else {
passthru('php -f ' . __FILE__ . ' arg1');
}
当我运行这一行php-f script.php
(其中script.php包含上述代码)时,输出如下:
♀
String
♀
一串
所以再一次,这不是一个特定于计划的问题,而是整个系统的问题。我没能在另一台机器上复制它
我一直在寻找一个答案,什么可能导致这大约一个星期没有成功
您知道这可能是什么原因吗?我今天在表单提要符号方面遇到了类似的问题:
for /f "tokens=1,2 delims=!" %a in ('echo test') do (set RELAY=%a)
C:\>echo %RELAY%
♀test
问题是cmd自动运行中的CLS命令。
startup.bat:
@echo off
doskey ps=C:\tools\tasklist_by_name.bat $1
doskey kill=C:\tools\taskkill_by_pid.bat $1
doskey list=doskey /macros$bsort
cls
它是这样运行的
HKEY_CURRENT_USER\Software\Microsoft\Command Processor
AutoRun "C:\tools\startup.bat"
当我删除CLS命令时,一切正常。
您可以在您的系统上检查它,可能在它上设置了自动运行。以下是检测问题的最小批处理脚本:
@echo off
for /f "delims=" %%a in ('echo a') do if not "a"=="%%a" (
echo error : found problem in AutoRun cmd (you can try to remove cls and virtual terminal sequences)
exit /B 1
)
rem etc.
exit /B 0
没有女人就没有哭泣。但这是一个严重的问题。我真的需要弄清楚这个。什么操作系统?如果是Windows,那么您使用的是哪个版本的bash和php?(例如Cygwin、Windows上的PHP等)@DonCruickshank我正在使用Windows 7;PHP版本与此无关,因为在尝试使用Ant(Java,JDK和JRE的最新版本)构建APK时,也会出现此问题,但您询问的是PHPV5.3.5