systemd 单元文件中 `ExecSearchPath=` 的默认值是什么?

systemd 单元文件中 `ExecSearchPath=` 的默认值是什么?

man systemd.exec说关于ExecSearchPath=

采用冒号分隔的绝对路径列表,相对于 Exec*=(例如 ExecStart=、ExecStop= 等)属性使用的可执行文件可以找到。如果用户未通过 Environment=、EnvironmentFile= 或 PassEnvironment= 提供 $PATH,ExecSearchPath= 将覆盖 $PATH。分配空字符串会删除以前的分配,并且多次将 ExecSearchPath= 设置为某个值将附加到以前的设置。

的默认值是多少ExecSearchPath=

答案1

默认二分搜索路径描述在命令行部分

如果命令不是完整(绝对)路径,则会使用编译时确定的固定搜索路径将其解析为完整路径。搜索的目录包括使用 split和目录的系统上的/usr/local/bin//usr/bin/、以及使用 split和 的系统上的对应目录。因此,如果可执行文件位于任何“标准”目录中,则仅使用可执行文件名称是安全的,而在其他情况下必须使用绝对路径。建议使用绝对路径以避免歧义。提示:可以使用以下命令查询此搜索路径/bin//usr/bin//bin/sbin/bin/sbin/systemd-path 搜索二进制文件-默认

其自身默认值为ExecSearchPath空,这会触发上述行为。

(请注意,这ExecSearchPath是最近的事情,它是在 systemd 250 中添加的。)

相关内容