PowerShellの使い方

bash on ubuntu on Windowsが使えるようになって、あまり需要がないかもだけれどまとめます。

スクリプト実行権限を付与する

PowerShellのスクリプトは、コマンドプロンプト(古のDOS)におけるバッチファイル、あるいはunixターミナルにおけるシェルスクリプトに相当するもの。

コンソールに入力するコマンドレットをファイルに羅列することで、ワンコマンドとしてまとめて実行できる仕組みです。

が!

デフォルトではPowerShellスクリプトの実行権限が与えられていない。まずは各自、実行権限フラグを立てるところから始めます。

もう一つのハマりどころは「管理者として実行」すること。最初だけは管理者としてPowerShellを起動して実行権限フラグを与えます。

Windows7のスタートメニューから管理者権限でPowerShellを起動
(*'-') takeru >> Set-ExecutionPolicy RemoteSigned
 
実行ポリシーの変更
実行ポリシーは、信頼されていないスクリプトからの保護に役立ちます。実行ポリシーを変更すると、about_Execution_Policiesのヘルプ トピックで説明されているセキュリティ上の危険にさらされる可能性があります。実行ポリシーを変更しますか?
[Y] はい(Y)  [N] いいえ(N)  [S] 中断(S)  [?] ヘルプ (既定値は "Y"): y
(*'-') takeru >>

ここで指定した実行権限RemoteSignedは、ローカルにあるスクリプトファイルまたはダウンロードされた署名付きのスクリプトファイルのみ実行を許可するというフラグです。

プロファイルファイルを作成する

プロファイル…。bashでいうところの.bash_profileや.bashrc、DOSのcommand.comでいうところのautoexec.batやconfig.sysですね。

要はPowerShell立ち上げ時の初期設定です。プロファイルファイルのフルパスはシェル変数$profileに設定されています。

(*'-') takeru >> $profile
C:\Users\takeru\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
(*'-') takeru >> New-Item -type file -force $profile

これはWindows7の場合。ほかのバージョンだとパスが違うかも。このファイル、デフォルトでは存在しないので新規作成する必要があります。

プロファイルファイルの内容

基本的に.bash_profileなり.bashrcに指定する内容と同じです。

  • シェル変数の設定
  • エイリアスの設定
  • 関数の設定
  • 所定コマンドレットの実行

例えばこんな感じ。

Set-Alias vim "C:\Users\takeru\vim73-kaoriya-win32\vim.exe"
function halt(){
  Get-Job | Remove-Job -force
  Get-Childitem $HOME\*~ | Remove-item
  Get-Childitem -recurse $HOME\temp | Remove-item -force
  Stop-Computer
}
function reboot(){
  Restart-Computer
}
Set-Location c:\Users\takeru

とりあえずvimの登録は外せない。

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments