En_US.UTF-8 altında garip mv -vf çıktısı


0

Çıktım mv -vfçok garip:

cd /tmp
touch xx yy

$ mv -vf xx yy
â -> â

$ env | grep ^LANG
LANG=en_US.UTF-8

Doğru çıktı şöyle olmalıdır:

$ mv -vf xx yy
'xx' -> 'yy'

Bu,

$ env | grep ^LANG
LANG=C

Ben ayarlarsanız LANG=Cdaha sonra mv -vfçıkış yine doğrudur.

Kontrol güncellemesilocale -a :

$ locale -a | grep en
en_US
en_US.utf8

LANG=en_US.utf8

touch xx yy

$ mv -vf xx yy
â -> â

LANG=en_US
touch xx yy

$ mv -vf xx yy
'xx' -> 'yy'

Bu nasıl? Düzeltme olur mu?

$ lsb_release -a 
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 15.04
Release:        15.04
Codename:       vivid

BTW, aynı şeyi Ubuntu 16.04 LTS Xenial altında test edin ve sorunum ortadan kalktı LANG=en_US.UTF-8. Yani o zaman Ubuntu 15.04 bir hata mı? Ubuntu 15.04'ü kullanan birkaç makinem var ve hepsi aynı davranışı sergiliyor. Bu sizin için hiç oluyor mu?

Güncelleme 2 :

$ locale -a | grep ^C
C
C.UTF-8

LANG=C.UTF-8
touch xx yy

$ mv -vf xx yy
â -> â

Yani bununla alakası yok enama UTF-8Ubuntu 15.04 altında aslında (ayar olarak LANG=C).


Lütfen locale -aistediğiniz yerel ayarın gerçekten kullanılabilir olup olmadığını kontrol edin .
Daniel B,

@DanielB, OP’mi kontrol edip güncelledi. Teşekkürler.
xpt

Tamam, bu kullandığınız terminalde bir sorun olduğunu gösteriyor. Hangi terminal emülatörünü kullanıyorsunuz?
Daniel B,

@DanielB, xterm ve urxvt, ikisi de aynı semptomlara sahiptir.
xpt

Yanıtlar:


-1

Lütfen /etc/default/localedosyayı inceleyin ve istediğiniz şekilde ayarlayın LANG. Relogon'u deneyin veya çalışıp çalışmadığını görmek için başka bir kullanıcıyla oturum açın. Bu yardımcı olur umarım.


1
Lütfen bunun soruyu cevaplamanıza nasıl yardımcı olduğunu açıklayın. Çünkü öyle olmadığını düşünüyorum.
Daniel B,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.