「Windows/powershell」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→エスケープ文字対応) |
|||
行3: | 行3: | ||
macであれば、powershell-x.x.x-osx-x64.pkg をDL | macであれば、powershell-x.x.x-osx-x64.pkg をDL | ||
+ | |||
+ | ==windowsでpowershell実行== | ||
+ | $ ./tmp/hoge.ps1 | ||
+ | |||
+ | /tmp/hoge.ps1 | ||
+ | echo 'hoge' | ||
==macでpowershell実行== | ==macでpowershell実行== |
2021年8月18日 (水) 18:20時点における版
目次
powershellインストール
macであれば、powershell-x.x.x-osx-x64.pkg をDL
windowsでpowershell実行
$ ./tmp/hoge.ps1
/tmp/hoge.ps1
echo 'hoge'
macでpowershell実行
$ /usr/local/bin/pwsh /tmp/hoge.ps1
/tmp/hoge.ps1
echo 'hoge'
powershellバージョン確認
コマンドで実行
$ /usr/local/bin/pwsh $PSVersionTable PowerShell 7.1.3
spに記述して実行
version.sp1
$PSVersionTable
実行
$ /usr/local/bin/pwsh version.sp1
Name Value ---- ----- PSVersion 7.1.3 PSEdition Core GitCommitId 7.1.3 OS Darwin 20.5.0 Darwin Kernel Version 20.5.0: Sat May 8 05:10:33 PDT 2021; root:xnu-7195.121.3~9/RELEASE_X86_64 Platform Unix PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…} PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1 WSManStackVersion 3.0
変数
$path = "hoge.txt";
変数で定義したpathを使用
$path = "hoge.txt"; $data = Get-Content $path
テキスト文置換
aaaをcccへ置換
$data = Get-Content hoge.txt | % { $_ -replace "aaa", "ccc" } $data | Out-File hoge.txt
参考:https://teratail.com/questions/290149
エスケープ文字対応
[]などは、\でエスケープする
$data = Get-Content hoge.txt | % { $_ -replace "aaa\[hoge\]", "ccc[piyo]" }
実行ファイルのdirpath
version3未満の場合
$ScriptDir = $MyInvocation.MyCommand.Path echo $ScriptDir
version3以上の場合
$ScriptDir = $PSScriptRoot echo $ScriptDir