【发布时间】:2021-08-18 05:17:07
【问题描述】:
我想将我的 samba 二进制路径存储到我的 rpi4 上的全局 $PATH 变量,但它没有按预期工作。
我在文件夹/etc/profile.sh 中创建了一个文件samba-binary-path.sh,并使其具有chmod +x 可执行文件。
文件samba-binary-path.sh 包含以下内容:
export PATH=/usr/local/samba/bin/:/usr/local/samba/sbin/:$PATH
此外,我还有export PATH=/usr/local/samba/bin/:/usr/local/samba/sbin/:$PATH 也保存在文件/etc/environment 中。
现在是疯狂的部分。当我在我的 cli 上执行我的脚本时,它按预期工作,但是当它从另一个进程启动时,路径变量缺少我的 samba 二进制路径。
受影响的代码块:
#!/bin/bash
BINDIR=$(samba -b | grep 'BINDIR' | grep -v 'SBINDIR' | awk '{print $NF}')
[[ -z $BINDIR ]] && printf "Cannot find the 'samba' binary, is it installed?"
出于调试目的,我将$PATH 变量通过管道传递给/var/log/syslog。
结果如下:
- 在 cli 上执行:
$PATH=/usr/local/samba/bin/:/usr/local/samba/sbin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - 从其他进程执行:
$PATH=/sbin:/bin:/usr/sbin:/usr/bin
我在哪里指定路径以便始终可以找到 samba 二进制文件?
问候,
罗尼
【问题讨论】:
-
I have export PATH .. in the file /etc/environment这不是environment文件的格式。 -
when it get started from another process什么“另一个进程”?Executed from other process:什么“其他进程”?哪个流程? -
是的,你是对的。我再次将其从
/etc/environment中删除 -
奥托,
samba -b | awk '/^BINDIR$/{print $NF}'也许
标签: bash path raspberry-pi