PowerShell相当于bash中的"dirname $0"



我使用了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

相关内容

  • 没有找到相关文章

最新更新