Home > Archives > 2007年11月06日

2007年11月06日

PowerShell を入れてみる

Windows の cmd.exe の次のシェルらしいので面白そうだからダウンロードしてみた.だいぶ前からあったらしいけどコードネームが Monad だったのは何か数学的意味が…?

それはさておきちょっと使って嫌だった部分を上げる.

第一にバックが黒くないところ.微妙に紺色なので黒くしてしまった.

第二に ls が内部コマンド(alias)で定義されてること.ls -al と書いて怒られた.

第三に man も内部コマンドで定義されてること.まあ,内部コマンドの説明見るには便利だけど.

第四に sl が内部コマンドで…  第五に cpp が…

ということで,Alias: に移って rm ls にて偽物の ls には消えていただいた.んで,このまま Alias: で ls したらどうなるかと思って試してみたら元のディレクトリの一覧が出た.まあ,当然といえば当然だけど Alias: という位置は PowerShell が適当に作った場所であって他のプログラムからみたらカレントディレクトリの移動はしていないと.

ついでに,PowerShell 起動しなおしたら元に戻った.Export-Alias, Import-Alias 使わないとダメみたい.

落とし穴: ls と rm の alias を消そうとして順番間違うと危ない.

touch ls
cd alias:
rm rm
rm ls

とかやると alias の ls は消えずに touch で作った ls が消える.まあ,最初の rm が Remove-Item の alias で二つ目が /bin/rm なだけだけど.

結局,プロバイダとして物理的なドライブ以外の物の場合カレントディレクトリの齟齬があると.で,この状態で PowerShell 外のコマンドを読んでしまうとある意味変なことが起きると.sshfs みたいなのをプロバイダにするとリモートのファイルを消したつもりが手元のを消すことに? 結構危なそう…

Home > Archives > 2007年11月06日

Search
Feeds

Page Top