Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Git Bash is displaying strange characters on Windows 7 [closed]

Tags:

git

linux

bash

I installed Gitbash in my Windows and defined the Linux command lines (ls to list directory for example) but the command line is returning strange characters.

Reginaldo@Dell MINGW64 /c/dev/php/laravel/flamboyant (master)
$ php artisan
←[32mLaravel Framework←[39m version ←[33m5.1.29 (LTS)←[39m

←[33mUsage:←[39m
  command [options] [arguments]

←[33mOptions:←[39m
  ←[32m-h, --help←[39m            Display this help message
  ←[32m-q, --quiet←[39m           Do not output any message
  ←[32m-V, --version←[39m         Display this application version
  ←[32m    --ansi←[39m            Force ANSI output
  ←[32m    --no-ansi←[39m         Disable ANSI output
  ←[32m-n, --no-interaction←[39m  Do not ask any interactive question
  ←[32m    --env[=ENV]←[39m       The environment the command should run under.
  ←[32m-v|vv|vvv, --verbose←[39m  Increase the verbosity of messages: 1 for norm
al output, 2 for more verbose output and 3 for debug

←[33mAvailable commands:←[39m
  ←[32mclear-compiled←[39m      Remove the compiled class file
  ←[32mdown←[39m                Put the application into maintenance mode
  ←[32menv←[39m                 Display the current framework environment
  ←[32mhelp←[39m                Displays help for a command
  ←[32minspire←[39m             Display an inspiring quote
  ←[32mlist←[39m                Lists commands
  ←[32mmigrate←[39m             Run the database migrations
  ←[32moptimize←[39m            Optimize the framework for better performance
  ←[32mserve←[39m               Serve the application on the PHP development ser
ver
  ←[32mtinker←[39m              Interact with your application
  ←[32mup←[39m                  Bring the application out of maintenance mode
 ←[33mapp←[39m
  ←[32mapp:name←[39m            Set the application namespace
 ←[33mauth←[39m
  ←[32mauth:clear-resets←[39m   Flush expired password reset tokens
 ←[33mcache←[39m
  ←[32mcache:clear←[39m         Flush the application cache
  ←[32mcache:table←[39m         Create a migration for the cache database table
 ←[33mconfig←[39m
  ←[32mconfig:cache←[39m        Create a cache file for faster configuration loa
ding
  ←[32mconfig:clear←[39m        Remove the configuration cache file
 ←[33mdb←[39m
  ←[32mdb:seed←[39m             Seed the database with records
 ←[33mevent←[39m
  ←[32mevent:generate←[39m      Generate the missing events and listeners based
on registration
 ←[33mhandler←[39m
  ←[32mhandler:command←[39m     Create a new command handler class
  ←[32mhandler:event←[39m       Create a new event handler class
 ←[33mkey←[39m
  ←[32mkey:generate←[39m        Set the application key
 ←[33mmake←[39m
  ←[32mmake:command←[39m        Create a new command class
  ←[32mmake:console←[39m        Create a new Artisan command
  ←[32mmake:controller←[39m     Create a new resource controller class
  ←[32mmake:event←[39m          Create a new event class
  ←[32mmake:job←[39m            Create a new job class
  ←[32mmake:listener←[39m       Create a new event listener class
  ←[32mmake:middleware←[39m     Create a new middleware class
  ←[32mmake:migration←[39m      Create a new migration file
  ←[32mmake:model←[39m          Create a new Eloquent model class
  ←[32mmake:policy←[39m         Create a new policy class
  ←[32mmake:provider←[39m       Create a new service provider class
  ←[32mmake:request←[39m        Create a new form request class
  ←[32mmake:seeder←[39m         Create a new seeder class
  ←[32mmake:test←[39m           Create a new test class
 ←[33mmigrate←[39m
  ←[32mmigrate:install←[39m     Create the migration repository
  ←[32mmigrate:refresh←[39m     Reset and re-run all migrations
  ←[32mmigrate:reset←[39m       Rollback all database migrations
  ←[32mmigrate:rollback←[39m    Rollback the last database migration
  ←[32mmigrate:status←[39m      Show the status of each migration
 ←[33mqueue←[39m
  ←[32mqueue:failed←[39m        List all of the failed queue jobs
  ←[32mqueue:failed-table←[39m  Create a migration for the failed queue jobs dat
abase table
  ←[32mqueue:flush←[39m         Flush all of the failed queue jobs
  ←[32mqueue:forget←[39m        Delete a failed queue job
  ←[32mqueue:listen←[39m        Listen to a given queue
  ←[32mqueue:restart←[39m       Restart queue worker daemons after their current
 job
  ←[32mqueue:retry←[39m         Retry a failed queue job
  ←[32mqueue:subscribe←[39m     Subscribe a URL to an Iron.io push queue
  ←[32mqueue:table←[39m         Create a migration for the queue jobs database t
able
  ←[32mqueue:work←[39m          Process the next job on a queue
 ←[33mroute←[39m
  ←[32mroute:cache←[39m         Create a route cache file for faster route regis
tration
  ←[32mroute:clear←[39m         Remove the route cache file
  ←[32mroute:list←[39m          List all registered routes
 ←[33mschedule←[39m
  ←[32mschedule:run←[39m        Run the scheduled commands
 ←[33msession←[39m
  ←[32msession:table←[39m       Create a migration for the session database tabl
e
 ←[33mtracker←[39m
  ←[32mtracker:tables←[39m      Create the migrations for Tracker database table
s and columns
 ←[33mvendor←[39m
  ←[32mvendor:publish←[39m      Publish any publishable assets from vendor packa
ges
 ←[33mview←[39m
  ←[32mview:clear←[39m          Clear all compiled view files

Reginaldo@Dell MINGW64 /c/dev/php/laravel/flamboyant (master)

Can someone help me please?

like image 910
Reginaldo Marcelo dos Santos Avatar asked Feb 14 '16 02:02

Reginaldo Marcelo dos Santos


People also ask

What is git bashing?

Git Bash is an application for Microsoft Windows environments which provides an emulation layer for a Git command line experience. Bash is an acronym for Bourne Again Shell. A shell is a terminal application used to interface with an operating system through written commands.

How do I stop a git bash script?

To exit from bash type exit and press ENTER . If your shell prompt is > you may have typed ' or " , to specify a string, as part of a shell command but have not typed another ' or " to close the string. To interrupt the current command press CTRL-C .

How do I get my cursor back in git bash?

This worked for mepress:q enter or Close the git bash window and reopen it!


Video Answer


2 Answers

This answer helped me with my weird characters in gradle output from git bash in windows. Just add export TERM=cygwin to the last line of git/etc/bash.bashrc. If this helps you, be sure to send the upvotes to their answer—I'm only reposting it here since this is where google brought me.

like image 114
adamdport Avatar answered Sep 22 '22 06:09

adamdport


You need to enable ansi control code processing. See here for details.

By Jason Karns in shell

  • Link content included for reference in case link ever gets deleted.

Having used git on windows for over three years now, I’ve fallen back in love with the command line. Bash, of course, not the windows command prompt. Beautiful, ubiquitous, warty bash. Git depends heavily on GNU utilities so on Windows it requires either cygwin or msys. Having been burned by cygwin in the past, I prefer the minimalism and simplicity of msys + mingw. Along with git, the entire ruby ecosystem lives in the shell. However, the numerous tools, gems and utilities that assume standard ANSI color support in the shell began to wear on me. Lo and behold, there is a lovely solution to provide ansi color support for bash (and cmd) on Windows: ansicon.

Download the zip and extract. There are a few ways to install:

  1. Extract to a permanent location (I use C:/bin/ansicon). Execute ansicon.exe -i from within the appropriate directory for your system (x86/x64), and you’re all set. Any new shells (bash and windows cmd included) will autorun the ansicon utility for displaying color output. Be sure not to move the executable prior to running ansicon.exe –u. This removes the registry entry and prevents an ugly error message for every command shell.

  2. Alternatively, place the ansicon executable in your PATH, or add its location to your PATH. Then you can launch ansicon for a session with ansicon.exe –p.

This utility has been working great for my on Windows XP. I’ve been having trouble getting it to work on Windows 7, but I hear it should be supported. I’ll post an update when the Windows 7 issue is resolved.

Update

Root cause, uncovered! If you use JRuby with a 64-bit JVM on Windows x64, ansicon won’t work. The issue is that ansicon (64-bit) is capable of injecting into 32-bit processes, but not vice versa. Currently, the JRuby launcher is a 32-bit executable. Thus, if you’re running a 64-bit shell (cmd, bash, or otherwise), ansicon will inject correctly into that process. It will then inject successfully into the 32-bit JRuby launcher process. At this point, for all intents and purposes, you’re running the 32-bit version of ansicon. Thus, if you’re running JRuby on a 64-bit JVM, then 32-bit ansicon is not able to inject into 64-bit JVM. There is an open feature request for JRuby to ship its 64-bit version with a 64-bit launcher. You should vote for this feature. I also hear that adoxa (Jason Hood) has a potential fix for this issue in the works. Stay posted.

Of course, the easiest solution at the moment is to ensure that JRuby uses a 32-bit JVM. Just change (or set) your JAVA_HOME environment variable to point to a 32-bit JVM and you’re golden.

Update 2: Issue Resolved

The latest 64-bit binaries (ansi6432.zip) have fixed the issue. Just download and extract them over-top the 1.51 version.

enter image description here

like image 23
David Deutsch Avatar answered Sep 24 '22 06:09

David Deutsch