我正在用 Swift 编写一个脚本,我希望它修改一些始终与脚本本身位于同一目录中的文件。有没有办法从脚本内部获取脚本的路径?我试过:
print(Process.arguments)
但这仅输出实际提供给脚本的路径,该路径可能是完全解析的路径,只是文件名,或两者之间的任何内容。
我打算运行该脚本swift /path/to/my/script.swift
.
接受的答案在 Swift 3 中不起作用。此外,这是一种更直接的方法:
import Foundation
let currentDirectoryURL = URL(fileURLWithPath: FileManager.default.currentDirectoryPath)
let url = URL(fileURLWithPath: CommandLine.arguments[1], relativeTo: currentDirectoryURL)
print("script at: " + url.path)
但是,如果脚本的目录位于您的 PATH 中,则它存在 @rob-napier 指出的相同问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)