标签: path

zsh 运行命令但不是从路径

我的 zsh 正在做一些奇怪的事情,它运行的可执行文件不是我路径上的第一个可执行文件。我有一个用于 ssh 的包装器脚本,但是在调用真正的 ssh 二进制文件时没有调用包装器。

一些诊断:

$ echo $SHELL
/bin/zsh

$ echo $PATH
/home/user1/bin:/home/user1/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin:/usr/X11R6/bin:/usr/X11/bin:/usr/kerberos/bin

$ which ssh
~/bin/ssh

$ builtin which -a ssh
/home/user1/bin/ssh
/usr/bin/ssh

$ alias
l.='ls -d .* --color=tty'
ll='ls -lh'
ls='ls --color=auto'
run-help=man
vi=vim
which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
which-command=whence
zcp='noglob zmv -W -C'
zln='noglob zmv -W -L'
zmv='noglob zmv -W -M'
Run Code Online (Sandbox Code Playgroud)

我尝试在 bash 中运行 'ssh' 并调用了我的包装器脚本,所以这似乎是 zsh 的问题。

如果需要任何其他诊断信息,请现在告诉我。

我真的很想知道为什么当我尝试调用 ssh 时 $PATH 变量被忽略了。

更新 1

添加了'builtin which -a ssh'的输出

linux zsh shell path

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

如何在 Mac OS 中从终端复制完整路径

我想复制一个文件的路径,但该目录未在 Finder 中打开,而是在终端中打开。是否可以通过调用<utility> filename将完整文件路径字符串复制到 Mac OS 剪贴板?就像在那里复制以下命令的输出一样。

`pwd`/filename
Run Code Online (Sandbox Code Playgroud)

将以下行添加到我的 .zshrc

function cn { echo -n $(pwd)/$1 | pbcopy }
Run Code Online (Sandbox Code Playgroud)

由于参数,只是别名不起作用。完全相同的字符串也应该在 bash 中工作。

terminal path macos

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

我覆盖了我的环境变量 PATH

我不小心覆盖了 Windows 8(64 位)中的环境变量 PATH。我怎样才能重置它?我害怕在解决这个问题之前关闭电脑。

否则我可能会从另一台具有相同操作系统(或 Windows 8.1)的 PC 复制它?

path environment-variables windows-8

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

Windows 7 中的奇怪 PATH 问题 - 设置后变为空

我的 PATH 系统变量存在某种问题。由于我使用了很多 cmd 应用程序和脚本,因此我在其中添加了很多内容。但字符串的长度不是问题。我已经解决了这个限制。

高级系统属性是我注意到的唯一一个在编辑后正确初始化 PATH 变量的应用程序。如果我手动编辑注册表,应用程序不会使用 PATH 的更新版本。所以我必须使用它或保持登录和关闭。

但是,最近,在该应用程序中设置了 PATH 的某些值后,它总是以 (null) 结束,即使它是相同的字符串。一旦我按确定,它就会变黑。注册表项仍然存在。我必须注销或重新启动 PATH 才能填充其注册表项中的任何内容。

我什至将它修剪到 %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem 仍然,PATH=(null) 和 %windir% 已经死了。

别管它,它有效。

编辑它,没有。直到我重新启动。

那么,有什么想法吗?...关于为什么高级系统属性在更新系统变量时会出现这种情况。我相信这是问题所在,因为它是一个初始化应用程序,并且在干净重启后一切正常。

windows-7 path command-line environment-variables

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

当我没有权限时,如何从 Linux 的文件系统中删除文件?

我重新安装了 ns2,但没有从文件系统中删除带有路径的文件:

/usr/bin/ns
Run Code Online (Sandbox Code Playgroud)

所以当我在终端上输入时:

which ns
Run Code Online (Sandbox Code Playgroud)

我得到:

/usr/bin/ns 
Run Code Online (Sandbox Code Playgroud)

而不是我设置的路径是:

/home/me/ns-allinone-2.35/bin/ns
Run Code Online (Sandbox Code Playgroud)

这是在我的主目录中me。我应该如何删除文件系统中具有相似名称的文件?这个文件的属性在权限中说我不拥有这个文件,所以我不能更改权限。

如果路径设置不正确,我将无法运行我的 tcl 脚本并设置它,我需要删除重复的 .tcl 脚本ns。如何获得删除权限?以及如何使用我的终端删除它?

linux path environment-variables

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

为什么 Windows 中的文件夹或文件名不能以空格结尾?

我今天学了些新东西。当我尝试在 Visual Studio 中创建新文件夹“文件夹”(无引号)时,出现错误:

目录名称不能包含以下任何字符:

:*?| " < >

但是我的文件夹名称没有任何这些字符。所以我尝试在 Windows 资源管理器中创建这个文件夹,它从末尾剥离空间并创建文件夹“文件夹”而不是“文件夹”。同样的情形md指挥同样适用于文件名。为什么 Windows 中的文件夹或文件名不能以空格结尾?

我在 NTFS 分区(Windows 8.1)上试过这个。

windows ntfs path filenames

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

缩短 Windows 10 命令提示符

我试图弄清楚如何缩短 Windows 10 中的提示,这样我最终不会得到一个深度嵌套的目录路径,它占用了大部分(或全部)命令行。

我已经尝试应用此处显示的信息,但它似乎没有正确转换为 Windows 10。我创建了一个新的环境变量,命名PROMPT并填写了适用的信息,但它似乎没有达到预期的效果 - 它只向下移动>一行;还有很长的路要走。

windows path command-line windows-10

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

路径长度在 D: 驱动器上正常,但对于具有 NTFS 的 C: 驱动器来说太长?

我有一个包含大量文件的文件夹D:\dev\tools\eclipse。为了提高速度,我决定将其移至我的C:驱动器(同一路径),因为C:它是 SSD。

拖放操作拒绝复制 4 个名称超长的文件,称它们太长。

  • 操作系统是Windows 7 Pro X64
  • C:是250GB SSD
  • D:位于 LSI 9260 硬件 RAID 卡上,其中 3 个 2TB 驱动器配置为 RAID-5(3.6 TB 有效容量)
  • C:都是D:NTFS 格式。

为什么相同的路径长度在 RAID 驱动器上可以,但在 SSD 上却不行?

附加信息:

如果我在文件上使用“复制为路径”上下文菜单项(Shift-右键单击),则会在其上D:复制一个用 8.3 短名称替换长度超过 8 个字符的路径元素的路径,而在C:其上则使用全名。

但是,fsutil显示两个驱动器都启用了 8.3 名称

C:\Windows\system32>fsutil 8dot3name query c:
The volume state for Disable8dot3 is 0 (8dot3 name creation is enabled).
The registry state of NtfsDisable8dot3NameCreation is …
Run Code Online (Sandbox Code Playgroud)

windows-7 path

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

如何在 OSX 上为 python3 设置别名

我正在尝试为其设置别名,python3以便我可以使用python.

这是我的当前 .bash_profile

# Setting PATH for Python 3.6
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
export PATH
alias python=“python3”
alias 3=“python3”
alias py=“python3”
Run Code Online (Sandbox Code Playgroud)

当我跑步时,python我得到-bash: “python3”: command not found.

我可以运行python3并且它会正确打开py 3.X.X3.6.1在发布时)。

多年来在这里& SO上有很多半答案,还有一些评论提到了我的问题,但希望这可以成为完整答案的资源。或者也许你们中的一个人比我更擅长谷歌搜索,这可能是一个重复的问题!

terminal python alias path macos

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

macOS 发现:“相对路径不安全”,为什么?

我在 macOS 上运行以下作为我的 Travis CI 构建的一部分来删除所有非.git目录:

$ if [ "${TRAVIS_OS_NAME}" = "osx" ]; then find /usr/local/Homebrew \! -regex ".+\.git.+" -delete; fi
Run Code Online (Sandbox Code Playgroud)

它给出的输出是:

find: -delete: /usr/local/Homebrew: relative path potentially not safe
Run Code Online (Sandbox Code Playgroud)

为什么我的/usr/local/Homebrew路径被认为是相对路径?

security path command-line find macos

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