标签: path

如何将 LD_LIBRARY_PATH 导出到所有用户和系统服务

我想导出LD_LIBRARY_PATH到系统服务和所有用户。系统服务在登录前运行,因此.bashrc不适用。

如何实现这一目标?

libraries path environment-variables dynamic-loading

13
推荐指数
1
解决办法
4万
查看次数

带有 bash 的多路径环境变量设置行

我有很长的export PATH=A:B:C ...。我可以制作多行以如下更有条理吗?

export PATH = A:
              B:
              C:
Run Code Online (Sandbox Code Playgroud)

bash path environment-variables

12
推荐指数
1
解决办法
4万
查看次数

如何添加Unix which命令发现的主目录路径?

我已安装node.js在自定义位置并将该位置添加到$PATHin.profile文件中。

$ node --version
v0.6.2
$ which node
$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:~/Unix/homebrew/bin
$ cat ~/.profile
export  PATH="$PATH:~/Unix/homebrew/bin"
Run Code Online (Sandbox Code Playgroud)

Node.js 本身运行良好。问题是它没有按which命令列出。所以我npm现在无法安装。因为npm安装找不到node.js. 我怎样才能使node发现的二进制文件which

path profile home which

12
推荐指数
2
解决办法
3万
查看次数

检查 PATH 是否包含 $HOME/mydir 并添加它如果没有(全部在脚本中)

可能的重复:在源代码中将重复项
保留在 $PATH 之外

我的一些脚本位于$HOME/mydir. 不幸的是,如果这个目录不是PATH.

我想创建一个小脚本,检查是否$HOME/mydirPATH. 如果不是,PATH则应使用它和 进行更新EXPORTED

我的问题是:我可以使用哪个命令来检查是否$HOME/mydir属于PATH? 谢谢。

解决方案

为了记录,我实现了以下内容:

echo "Before: $PATH"

echo $PATH | grep -q "$HOME/scripts"

if [ $? -eq 0 ]; then
  PATH=$PATH:$HOME/scripts
  export PATH
else
  export PATH
fi

echo ""
echo "After: $PATH"
Run Code Online (Sandbox Code Playgroud)

path string shell-script environment-variables

12
推荐指数
2
解决办法
1万
查看次数

基本命令不起作用,即:-bash: ls: 没有这样的文件或目录

我是 Unix 的新手,在为我的论文安装程序的过程中,我必须使用 PATH 来处理基本的 Unix 命令,例如ls. 每次我输入ls我想要列出文件的目录名称时,它都会显示为:

-bash: ls: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我能做些什么来解决这个问题?非常感谢任何帮助!

command-line ls bash path

12
推荐指数
2
解决办法
10万
查看次数

将新目录添加到 PATH 与 PATH 中已有目录的符号链接

在设置它以便我可以从 bash 执行 Sublime Text 时,我通过不同的教程发现了两种方法:

方法 1) 从/usr/local/bin/sublSublime 的 bin 目录创建一个符号链接:

sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl

这利用/usr/local/bin了我的 PATH 变量中已经存在的优势。

...或者...

方法 2) 更新您的 PATH 以包含 Sublime 的 bin 文件夹的路径:

export PATH="/Applications/Sublime Text.app/Contents/SharedSupport/bin/":$PATH

两者都有效,但我想知道一种方法是否比另一种更好,或者它们是否同样好?

我可能会看到的唯一优势是方法 1,如果在 PATH 目录中使用较少的目录是否有益(寻找可执行文件的速度/性能?)。

shell bash path symlink

12
推荐指数
2
解决办法
2万
查看次数

如何使用 ln -s 创建命令行快捷方式?

我有一个 sh 文件,我希望能够随时从终端打开它。我想在终端中输入“studio”,并打开 android studio

我记得ln -s曾经这样做过,但我忘记了并且已经浪费了很多时间在网上搜索。

另外,创建的符号链接保存在哪个目录中?

这是我努力的语法,找不到命令

ricardo@debian:~$ ln -s /opt/android-studio/bin/studio.sh studio
ricardo@debian:~$ studio
bash: studio: command not found
Run Code Online (Sandbox Code Playgroud)

command-line shell path executable symlink

12
推荐指数
1
解决办法
4万
查看次数

如何在 PATH 上可靠地找到程序的完整路径?

我需要PATH使用 shell 脚本找到给定程序的路径。路径必须是程序的实际完整路径,稍后可以将其传递给exec*不搜索PATH自身的函数之一,例如execv.

有一些程序,例如kill,它们可以同时作为实际程序和内置 shell 使用。如果是这种情况,我需要实际程序的完整路径。

有几个实用程序可以PATH第 2.9.1.1 节,POSIX 标准的命令搜索和执行中指定的程序上找到程序。

which,它不是任何标准的一部分。它可以是某些系统上的常规程序,而某些 shell 则提供它是内置程序。它似乎在大多数系统和 shell 上都可用,但是具有内置版本的 shell 也只返回内置版本的名称而不是可执行文件的路径。此外,它没有以任何方式标准化,可能会返回任何输出并采用不同的选项。

bash# which kill
/usr/bin/kill
dash# which kill
/usr/bin/kill
fish# which kill
/usr/bin/kill
mksh# which kill
/usr/bin/kill
tcsh# which kill
kill: shell built-in command.
zsh# which kill
kill: shell built-in command
Run Code Online (Sandbox Code Playgroud)

whence,它是几个 shell 的内置函数。但在许多外壳上不可用。它也将返回内置程序的名称而不是程序路径。-p可以将A传递给 wherece 以更改此行为。

bash# whence kill
bash: whence: command not found …
Run Code Online (Sandbox Code Playgroud)

shell path

12
推荐指数
1
解决办法
699
查看次数

bash shell 中`command` 命令的“p”选项究竟有什么作用?

command bash 中的命令:运行带有参数的命令,忽略任何名为 command 的 shell 函数。

' -p ' 选项意味着使用$PATH的默认值来保证找到所有标准实用程序。

这里提到的默认 PATH 究竟是什么?当我定义时export PATH="/home/ozgur/":$PATH,我不是在默认值上添加一个新的 PATH 路径吗?

## For Example
~$ export PATH="/home/ozgur/":$PATH
~$ echo $PATH
/home/ozgur/:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
~$ script.sh
hey, i am working !
~$ command -p script.sh
hey, i am working !
Run Code Online (Sandbox Code Playgroud)

当我使用命令的“ -p ”选项时command,我希望它忽略我定义的新 PATH 路径,但这并没有发生。我到底错过了什么?什么是使用“点-p ”选项,如果用户的PATH路径变化并不与“覆盖-p ”选项?

bash path command

12
推荐指数
1
解决办法
951
查看次数

以下哪一个路径具有优先级:/usr 或 /usr/local

我想aria2c通过将其复制到手动安装/usr/local/bin,因为我使用 apt 安装了 aria2c/usr/bin

如果我输入其中哪一个将被执行aria2c

shell path environment-variables

12
推荐指数
2
解决办法
8198
查看次数