2017-02-13 10 views
1

クイック概要:ポンド記号(£)がドッキングウィンドウ容器内のBashシェルで改行を引き起こし

私はbashシェルでながらポンド(£)の記号を使用していくつかの問題を抱えています。

私が£キーを押すと、私は£記号ではなく新しい行を取得します。

export P='Secure$%£Password' 
echo 'I will now type a GBP pound symbol: £' 
I will now press the pound symbol 3 times £££ 
echo 'What is going on?' 

たび£:私は次の行を試してみて、入力画面録画で

https://drive.google.com/open?id=0B-kN4kPOjEdDUENDbjJ3ekJRQ3M

:私はここで見ることができ、画面の記録を作った意味を正確に何を表示するにはキーを押すと、新しい行が始まり、£記号が印刷されません。

詳細:

これは、このMySQLのDockerfileに基づいてドッカーコンテナ内で実行中のbashシェルです: https://github.com/docker-library/mysql/blob/eeb0c33dfcad3db46a0dfb24c352d2a1601c7667/5.7/Dockerfile

ドッカーホストは、ドッカーバージョン1.13.1を実行しているのUbuntu 16.04 AzureのVMであります092cba3を構築する。

問題は私のローカルのMac OSX上でドッカーを実行している場合、問題が発生したマックOSX上

を実行している私の地元のBashシェルでは発生しません、私は上記のDockerfileに基づいてコンテナを実行します。

すなわち

docker run -it --name=test mysql:latest /bin/bash 

Iは£シンボルではなく、無駄に起因する新たなラインを有するドッカーおよび/またはバッシュのインスタンスに対してグーグル試みました。

£記号は私の研究の特殊文字としては表示されません。

誰もがこれを引き起こす可能性があるものについていくつかの光を当てることができますか?コメント欄で

追加の詳細を、次の質問:私はアップルのMacに差し込まれ、英国のキーボードを持って

。しかし、私はAndroidの携帯電話からターゲットサーバにSSHを持っているときに同じ問題が発生します。

私はShift-3を使用して£記号を生成します。

£記号をコピーした後に貼り付けると同じ動作が起こります。

Ctrl-Vを押すと、^ V文字がコンソールに出力されます。

のAlt-#は、私は、コマンド猫-vを開始し、その後、私は次のシェルの出力を取得し、リターンキーに続いて£記号を入力すると何も

を生成するためには表示されませんプレス国:

[email protected]:/# cat -v 
£ 
M-BM-# 
+0

'CTRL-v'' ''を押すと何が得られますか? – melpomene

+0

ポンド記号を取得するために使用する正確なキーは何ですか? 'Shift-3'? – melpomene

+0

あなたの症状は 'insert-comment' readlineコマンドと一致します。これはデフォルトでは' Alt-# 'にバインドされています。 '#'はUSキーボードの 'Shift-3'です。 – melpomene

答えて

2

キーボード入力がUTF-8(£が2バイトでエンコードされている、C2A3)として入力されているようですが、あなたのシェルはLatin-1かそれに類似するものを期待しています。

特に、第2バイト(A3)は163 = 128 + 35に等しい。#のASCIIコードは35であり、シフト128は「メタ」と解釈される。したがって、bashはA3M-#と見なします。これはデフォルトでinsert-commentコマンドにバインドされています。このコマンドは、行の先頭に#を挿入し、改行が入力されたかのように動作します(デモビデオで両方のエフェクトを見ることができます)。

これを修正することは、ロケール変数を変更するのと同じくらい簡単です。試してくださいecho $LANG。これがデフォルトのロケールです。典型的な出力はen_USまたはen_GBのようなものです。その場合は、LANG=en_US.utf8を試してください(最後に.utf8を追加してください)。bashを再帰的に(同じセッションで再帰的に)実行し、再度テストしてください。それが修正されれば、(おそらく)Debian Linux上で変更を永続的に(どの設定ファイルに編集するのか)ついていく方法を理解することになります。

関連する問題