【已解决】CommandLine 获取程序执行所在的目录

【已解决】CommandLine 获取程序执行所在的目录

问题描述:

我利用 CommandLine 写了一个命令行程序 但是不知道怎么获取这个程序执行所在的目录。

比如上面我写的 zspec 的命令,我怎么获取上面运行在/Users/zhangxing/Downloads的路径呀?

解决办法

感谢 R 神给出解决办法

第一种使用 getenv() 函数

if let pwd = getenv("PWD") {
    print(pwd)
}

第二种使用 Process

if let pwd = ProcessInfo.processInfo.environment["PWD"] as? String {
    print(pwd)
}

这两种都是可以获取当当前运行的目录的。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Spring相关

Spring Boot 日志配置

默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台。在运行应用程序和其他例子时,你应该已经看到很多INFO级别的日志了...

18360
来自专栏黑泽君的专栏

eclipse中如何删除已经添加到 Web App Libraries 中引用的jar包

在 eclipse 中的 动态web项目 中,例如:我们通过向  /bos19/WebContent/WEB-INF/lib 中添加我们需要用到的jar包,如下...

2K20
来自专栏闻道于事

JavaWeb(一)JSP原理,组成

JSP(Java sever pages):一种用于开发动态web页面(资源)的技术。 jsp页面是在服务器上运行的一个页面,一个jsp页面就是一个类。写jsp...

51880
来自专栏乐沙弥的世界

Linux 内核参数优化(for oracle)

    Oracle 不同平台的数据库安装指导为我们部署Oracle提供了一些系统参数设置的建议值,然而建议值是在通用的情况下得出的结论,并非能完全满足不同的需...

20020
来自专栏java 成神之路

URI、 URL 和 URN 的区别

364150
来自专栏程序猿DD

Logback中使用TurboFilter实现日志级别等内容的动态修改

可能看到这个标题,读者会问:要修改日志的级别,不是直接修改log.xxx就好了吗?为何要搞那么复杂呢?

11520
来自专栏http://www.cnblogs.com

centos6.5编译安装php7

1.安装依赖软件库:   yum install -y libxml2-devel libtool* curl-devel libjpeg-devel libp...

513110
来自专栏Linyb极客之路

如何破解springboot/springcloud上传中文文件名乱码魔咒

如果以上三种方案都没办法解决,接下来就要思考下文件的上传流程,比如是否有通过网关之类的。接下来介绍当通过zuul来进行路由上传,文件中文名乱码问题的解决方式。

87110
来自专栏Java后端技术栈

Redis简介以及和其他缓存数数据库的区别

Redis 是一个开源的内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。

13920
来自专栏白驹过隙

进程同步(一)—— 管道

455100

扫码关注云+社区

领取腾讯云代金券