2>/dev/null

ふぉれんじっくやさんになりたいです

msys2 64bit環境でipconfigしたら文字化けした

タイトルの通りです

*状況:scpでファイル持ってくる時にip知りたいなとなり、ipconfigした結果→

*原因:http://yuu-glassdog.hatenablog.com/entry/2014/10/21/163409をのぞいてみると、なにやらwindowsがshift-jsで出力するのに対して、msys2がそれと異なる文字コードでいることが原因かも

*対策:nkfでビルドして、.bashrcに書き込んだりなんだリするらしい

.bash_aliasesの中身 echo '.bash_aliases'

Aliases for MSYS2 bash alias hogeを一時的に無効にするには\hoge

移動しやすく alias ..='cd ..' alias ...='cd ../..' alias -- -='cd -'

lsを使いやすく alias ls='ls --color=auto --show-control-chars --time-style=long-iso -FH' alias ll='ls -lA' alias la='ls -A' alias sl=ls

設定の読み込み alias relogin='exec $SHELL -l' alias re=relogin

画面消去 alias c=clear alias cls=reset

Windowsっぽく alias dir=ll alias path='echo -e ${PATH//:/\n}'

ディスクサイズ alias df='df -h' alias du='du -h' alias du1='du -d1'

grepを使いやすく grep -r hogeで./以下のファイルの中身からhogeを検索 find | grep hogeで./以下のファイル名からhogeを検索 whereis hogeでコマンドの関連場所を検索(bin, src, man) type -a hogeでコマンドを検索 alias grep='grep --color'

Windowsコマンド文字化け対策 function wincmd() { CMD=$1 shift $CMD $* 2>&1 | iconv -f CP932 -t UTF-8 } alias cmd='winpty cmd' alias psh='winpty powershell' alias ipconfig='wincmd ipconfig' alias netstat='wincmd netstat' alias netsh='wincmd netsh' pingのコマンド名混同を避けるため絶対パスで指定 alias ping='wincmd /c/windows/system32/ping'

ネットワーク確認用 alias ping1='ping www.google.com' alias ping2='ping 192.168.0.1'

mingw32用 msysのmakeと被らないようにコマンド名が変えられている alias make='mingw32-make' alias m='make -j3'

https://qiita.com/Ted-HM/items/4f2feb9fdacb6c72083c

上記サイトのbashrc丸パクリしたものをsourceでちゃんと読み込むよう設定し直したらうまく読み込みました

$CMD $* 2>&1 | iconv -f CP932 -t UTF-8

多分というか絶対ここでなんかうまくやってる

パイプの左の処理は一見して良くわからないが、右は検索してすぐ出てきた。

iconvコマンド https://www.atmarkit.co.jp/ait/articles/1609/12/news019.html

explanation: -fコマンド --from-codeで入力のエンコードを表す。入力されてきた文字を任意の文字コードに変換する。 grammar: iconv -hoge A Bと使う。おそらくメッセージの表示がwindows依存だから直す。(terminalあったら勝手に変換されるとか考えてた)

とかやってたら左部分の処理も出てきた https://qiita.com/tsubasaogawa/items/9495ad6e903998c4d1ac

標準エラー出力 2 を 標準出力 1 と同じ設定にするらしい ↑ 標準出力と標準エラー出力を一括してリダイレクト。リダイレクトは分かるけど、&は正規表現かなんかかな?

………どうやら違うみたいだ、、、分からん。

f:id:taikohaijin44:20190811112927p:plain
ipconfig

無事直ったからよしとするか