如何在 Raspbian GNU/Linux 10 上永久设置 $PATH
How to permanently set $PATH on Raspbian GNU/Linux 10
我想将我的 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 二进制文件?
此致,
罗尼
How to permanently set $PATH on Raspbian GNU/Linux 10
要显式永久更改所有可能没有 PATH
的环境的 PATH 已明确设置,如新的非交互式非登录 shell 不继承 PATH
从父进程中,使用不同的 DEFAULT_PATH_VALUE 值重新编译 bash(如果我没记错的话,它有一个 ./configure
选项)。
Where do I specify the path so that the samba binary could be always found?
您在脚本中指定它。
PATH=$PATH:/some/path
# or explicitly
bindir=$(/the/path/to/samba -b ....)
您还可以在 运行 脚本时显式调用登录 shell,因此采购 /etc/profile*
东西。
我想将我的 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 二进制文件?
此致,
罗尼
How to permanently set $PATH on Raspbian GNU/Linux 10
要显式永久更改所有可能没有 PATH
的环境的 PATH 已明确设置,如新的非交互式非登录 shell 不继承 PATH
从父进程中,使用不同的 DEFAULT_PATH_VALUE 值重新编译 bash(如果我没记错的话,它有一个 ./configure
选项)。
Where do I specify the path so that the samba binary could be always found?
您在脚本中指定它。
PATH=$PATH:/some/path
# or explicitly
bindir=$(/the/path/to/samba -b ....)
您还可以在 运行 脚本时显式调用登录 shell,因此采购 /etc/profile*
东西。