标签: path

$HOME/bin 如何添加到我的路径中?

我注意到我的路径环境变量有我家的二进制文件的路径$HOME/bin

我没有将$HOME/bin目录添加到路径环境变量中,那么如何$HOME/bin添加到路径中?


RE- “可能重复”

这个问题特定于环境变量“PATH”,并且进一步特定于如何将特定值(即)$HOME/bin附加到环境变量。

“可能的重复”:

  • PATH问题或答案中没有提及环境变量
  • 没有提及$HOME/bin问题或答案中任何地方的任何内容

fedora ubuntu centos path

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

Bash 在 $PATH 中找不到脚本

我正在设置一个全新的 Ubuntu 16.04 Minimal 系统,但遇到了一个奇怪的问题。即使添加$HOME/bin到后$PATHbash似乎也找不到其中的任何脚本,至少对于root.

我已经退出好几次了,甚至重新启动过一次机器。/etc/profile.d该路径由:中的一行脚本设置export PATH="$PATH:$HOME/bin"

root@Pioneer ~ # echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/root/bin
root@Pioneer ~ # ls -la /root/bin
total 36
drwxr-xr-x 2 root root 4096 Feb  6 16:04 .
drwx------ 8 root root 4096 Feb  6 16:03 ..
-rwxr-xr-x 1 root root  174 Jan  5  2017 newuser
-rwxr-xr-x 1 root root  236 Nov  3  2015 own
-rwxr-xr-x 1 root root   87 May  6  2017 re-dns
-rwxr-xr-x 1 …
Run Code Online (Sandbox Code Playgroud)

bash path environment-variables

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

PATH(环境变量)中的通配符

我在我的主目录中本地安装了一堆应用程序。为了使它们在全球范围内可用,我将它们添加PATH.bashrc

PATH="$PATH:/home/user/apps/app1/bin"
PATH="$PATH:/home/user/apps/app2/bin"
PATH="$PATH:/home/user/apps/appn/bin"
Run Code Online (Sandbox Code Playgroud)

我该如何设置才能不必添加每个新的?我正在尝试这个,但它不起作用:

PATH="$PATH:/home/user/apps/*/bin"
Run Code Online (Sandbox Code Playgroud)

注意:我知道我可以用循环添加它们,但我也担心我的PATH变量会变得太大,我想知道是否可以以某种方式使用通配符。

bash path environment-variables

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

如何将包含冒号(“:”)的目录添加到 PATH 中?

在这里我找到了带有名称的文件..:;mkdir '..:;'工作得很好。但在 PATH 中,目录名称由:. 如何将该目录添加到PATH?

linux directory path environment-variables

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

使用 CDPATH 和符号链接打开文件

为了快速移动,我添加了一个指向 CDPATH 的路径,其中包含指向不同位置的符号链接。我通过将以下行添加到 .bashrc 来做到这一点:

export CDPATH=~/symlinks
Run Code Online (Sandbox Code Playgroud)

使用目录时,一切正常,我可以从任何地方访问符号链接文件夹。

例如,如果我这样做:

$ ln -s ~/path/to/folder ~/symlinks/folder
Run Code Online (Sandbox Code Playgroud)

然后我可以写:

$ cd folder
Run Code Online (Sandbox Code Playgroud)

进入符号链接文件夹,无论我当前的目录如何。

但是,当我创建一个文件的符号链接,然后尝试使用编辑器打开它时,我会得到一个空文件,除非我在符号链接目录中。

例如,如果我这样做:

$ ln -s ~/path/to/file/filename ~/symlinks/filename
Run Code Online (Sandbox Code Playgroud)

然后写:

$ kwrite filename
Run Code Online (Sandbox Code Playgroud)

如果我不在符号链接文件夹中,我会得到一个空文件。

我想从任何地方访问该文件,我该如何实现?

shell directory path symlink files

3
推荐指数
1
解决办法
570
查看次数

如何使 GNU grep 成为 FreeBSD 中的默认值?

我正在运行 FreeBSD 9.1-RELEASE。我已经安装了 GNU grep portmaster textproc/gnugrep

然而,用户的“默认”grep 仍然是 FreeBSD grep。

# /usr/local/bin/grep -V
/usr/local/bin/grep (GNU grep) 2.12

# grep -V
grep (GNU grep) 2.5.1-FreeBSD
Run Code Online (Sandbox Code Playgroud)

我想让 GNU grep 成为默认值。我知道问题在于我的PATH环境变量中指定的目录顺序:

# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
Run Code Online (Sandbox Code Playgroud)

但是,我害怕将/usr/local/bin条目移动到我的PATH. 安全吗?

在像 Debian 这样的 Linux 发行版中,此类任务通常通过dpkg-divert和/或update-alternatives.

在 FreeBSD 中做我想做的事情而不破坏系统升级等的最佳方法是什么?

freebsd grep defaults path

3
推荐指数
1
解决办法
1853
查看次数

找出 $PATH 损坏的位置

我使用的是 OSX Mountain Lion 10.8.2

$echo $PATH 打印这个:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/Users/myusername/.rvm/bin
Run Code Online (Sandbox Code Playgroud)

我注释掉一切~/.bash_profile,并~/.bashrc并重新启动计算机,但在最后一部分$PATH变量(/Users/myusername/.rvm/bin)不会消失。

如何找出最后一部分添加到我的$PATH变量的位置?

osx shell bash path

3
推荐指数
1
解决办法
1116
查看次数

/etc/ld.so.conf 不包含 /usr/lib

pkg-config用来帮助在 C++ 编译期间提供正确的库。据我了解,它会在/etc/ld.so.conf. 我ld.so.conf通过指向的包含指令引用了以下库位置/etc/ld.so.conf.d/*.conf

/usr/local/lib
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu
Run Code Online (Sandbox Code Playgroud)

问题是我需要的库在/usr/lib默认情况下。

我可以将这条路径添加到/etc/ld.so.conf自己或移动库或推荐的做法是什么?

libraries path pkg-config

3
推荐指数
1
解决办法
5441
查看次数

脚本未按预期执行

我在 Unix 中的预定义位置有两个 Perl 脚本。此预定义位置在路径变量 ( $PATH) 中设置。现在,当我尝试运行第一个脚本(从任何位置)时,该脚本成功运行,而第二个脚本(与前一个脚本的路径相同)会引发错误提示

ScriptB: Command not found
Run Code Online (Sandbox Code Playgroud)

我的 shell 是 tcsh 并且授予两个脚本的权限是相同的。

这种错误行为的可能原因是什么?

scripting tcsh path

3
推荐指数
1
解决办法
113
查看次数

find 命令:如何忽略路径名?

我必须在目录及其子目录中找到某种类型的文件,我只需要打印出文件名。所以这是主要命令:
find -type f -name "*.c"

现在,我怎么能从每个结果中切出路径?(它可能可以用 awk 来完成,但我希望有一种更简单的方法来做到这一点)。

directory find path cut files

3
推荐指数
1
解决办法
252
查看次数