如果在Ubuntu系统中,运行一些程序时出现"PWD" variable is not set. Defaulting to a blank string.
,大概率是配置文件中使用${PWD}
这类语法导致的。
在Ubuntu系统中,执行严格的权限管理,一般你是无法使用 root
用户进行操作的,如果需要root
权限,大多也是使用 sudo
来执行。
大多数Linux系统中,
root
用户具有最高权限,也就是管理员权限。
所以我们大多数情况下使用的是一个普通用户,在Ubuntu中执行很多程序时,一般需要在执行的命令前加上 sudo
,来获取管理员权限去执行,如果此时执行的程序中有配置 ${PWD}
相关参数,很可能会出现 "PWD" variable is not set. Defaulting to a blank string.
报错,这是因为系统不知道用什么权限去执行 ${PWD}
命令,因为在普通用户和 root
用户下,执行 ${PWD}
或得到不一样的值。
以 docker-compose.yml
文件为例,如果你在Centos系统下,配置 docker-compose.yaml
可能出现如下配置:
yaml volumes:
# 日志文件映射
- ${PWD}/log:/var/log
这样的配置在 Centos
中大概率不会出错,因为很多用户使用 Centos
系统时,为了方便,都是直接使用 root
用户进行的操作。
但在 Ubuntu
系统下,很可能会报错。
既然 ${PWD}
报错,那么只能修改了,修改方式一般有两种:
docker-compose.yaml
支持相对路径配置yaml volumes:
# 日志文件映射
- ./log:/var/log
yaml volumes:
# 日志文件映射
- /usr/local/app/log:/var/log
本文作者:DingDangDog
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!