Bash Windows批处理输出换行女性字符

Bash Windows批处理输出换行女性字符,bash,Bash,所有bash脚本中都会以“女性符号”的形式打印出一个额外的表单提要字符 人物:♀ 数字代码:和#9792 十六进制代码:♀ 主要的问题是表单提供的是不可打印的字符。因此,处理路径的大多数bash脚本没有为表单提要和崩溃实现过滤机制 我正在尝试使用Ant工具为android构建一个APK,而女性符号破坏了脚本 我还可以在从bash运行的所有PHP脚本中看到女性符号。下面是一个简单的测试脚本: if (isset($argv[1])) { echo "\nString\n

所有bash脚本中都会以“女性符号”的形式打印出一个额外的表单提要字符

  • 人物:♀
  • 数字代码:和#9792
  • 十六进制代码:
主要的问题是表单提供的是不可打印的字符。因此,处理路径的大多数bash脚本没有为表单提要和崩溃实现过滤机制

我正在尝试使用Ant工具为android构建一个APK,而女性符号破坏了脚本

我还可以在从bash运行的所有PHP脚本中看到女性符号。下面是一个简单的测试脚本:

 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