我使用了dirname "$0"
,这是一种在bash中确定运行脚本路径的习惯用法,例如:
pushd "$(dirname "$0")"
data_dir="$(dirname "$0")/data/"
PowerShell中与上述习语等价的是什么?
从PowerShell 3.0版本开始,执行上下文提供了2个脚本作用域的自动变量:
$PSCommandPath
—执行脚本的文件系统路径,例如。C:pathtoscript.ps1
$PSScriptRoot
-脚本的直接父文件夹,例如。C:pathto
因此,在PowerShell中,与上一条语句等价的语句如下:
$dataDir = Join-Path $PSScriptRoot data