标签: zshrc

zsh PATH 的奇怪行为

我今天只是鼓励 zsh 出现一个奇怪的问题。

我的环境是 Mac OS X Yosemite,zsh 5.0.5 (x86_64-apple-darwin14.0)

在 .zshrc 中,我手动将 PATH 变量设置为类似

export PATH="$PATH:~/.composer/vendor/bin"
Run Code Online (Sandbox Code Playgroud)

echo $PATH在终端中尝试,结果如预期(包含~/.composer/vendor/bin)。然后尝试从 执行二进制文件~/.composer/vendor/bin,它总是会返回“zsh: command not found”错误。

尝试切换到 bash,echo $PATH也符合预期,结果与 zsh shell 相同。尝试从 执行二进制文件~/.composer/vendor/bin,没有发现问题。似乎 PATH var 在 bash shell 上运行良好。

我的 zsh shell 有什么问题?

谢谢

zsh zshrc osx-yosemite

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

oh-my-zsh 别名颜色高亮

我开始使用 zsh 和名为“oh-my-zsh”的插件,并在 ~/.zshrc 中设置我的个人别名。

alias ls='ls -aF'
Run Code Online (Sandbox Code Playgroud)

进而

source ~/.zshrc
Run Code Online (Sandbox Code Playgroud)

但该命令ls不会突出显示输出。(不过该命令可以正常工作。)

我实在不明白为什么。

有任何想法吗?

zsh zshrc oh-my-zsh

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

基于目录的 ZSH 补全

我在 ZSH 中设置了一个功能,可以快速导航到我的 ~/Sites 目录中的文件夹。

site() { cd ~/Sites/"$1"/website/; }
Run Code Online (Sandbox Code Playgroud)

因此,如果我输入site clientsite它将 cd 到 ~/Sites/ clientsite /website/,这里没有发生太复杂的事情。

我想知道如何根据我内部的文件夹自动完成此操作~/Sites/

因此,当我输入时,site cli[HIT TAB]它会自动完成为site clientsite.

zsh zshrc oh-my-zsh

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

如何在zsh中获得“彩虹提示符”?

我喜欢 bash 中所谓的“彩虹提示符”:

在此输入图像描述

我这样制作:

export PS1="\[$(tput bold)\]\[$(tput setaf 1)\][\[$(tput setaf 3)\]\u\[$(tput setaf 2)\]@\[$(tput setaf 4)\]\h \[$(tput setaf 5)\]\W\[$(tput setaf 1)\]]\[$(tput setaf 7)\]\\$ \[$(tput sgr0)\]"

不幸的是,该代码在 zsh(这是我的主 shell)中不起作用。

我怎样才能在 zsh 中达到相同的结果?

zsh prompt zshrc

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

xcrun:错误:无效的活动开发者路径,zsh 更新后出现flutter 问题

我将我的 shell 更新为 zsh,当我输入 flutter --version 时,我得到了这个:

'''xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools),   
missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
Failed to find the latest git commit date: VersionCheckError: Command exited
with code 1: git -c log.showSignature=false log -n 1 --pretty=format:%ad
--date=iso
Standard out: 
Standard error: xcrun: error: invalid active developer path
(/Library/Developer/CommandLineTools), missing xcrun at:
/Library/Developer/CommandLineTools/usr/bin/xcrun

Returning 1970-01-01 01:00:00.000 instead.
Flutter 0.0.0-unknown • channel unknown • unknown source
Framework • revision  () • 1970-01-01 01:00:00.000
Engine • revision b8752bbfff
Tools • …
Run Code Online (Sandbox Code Playgroud)

error-handling zsh zshrc xcrun flutter

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

编辑 ~/.zshrc 文件 - 如何仅向目录而不是整个提示添加颜色?

我只想为目录着色,而不为其他文件(如 .txt 等)着色。

\n

这是我当前的 .zshrc:

\n
PROMPT='%n%F{086}\xe2\x80\x94%f%M %F{057}::%f %F{028}%~%f %F{057}\xc2\xbb%f '\n
Run Code Online (Sandbox Code Playgroud)\n

如果我拿走最后%fPROMPT='%n%F{086}\xe2\x80\x94%f%M %F{057}::%f %F{028}%~%f %F{057}\xc2\xbb '它会将所有文件类型着色为相同的 057 颜色。

\n

如何仅针对目录来应用颜色并将其自己的颜色与 057 颜色分开?

\n

macos shell terminal zsh zshrc

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

如何为 oh-my-zsh 正确设置插件 nvm

我正在使用 oh-my-zsh 并且我想使用插件nvm。它工作正常,除了一个部分,即自动切换到正确的节点版本。

我已在 .zshrc 文件中设置了 env 变量NVM_AUTOLOAD=1,但它不起作用。

有人知道如何解决这个问题吗?

谢谢。

zsh zshrc nvm oh-my-zsh

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

在bash脚本中找到我的.zshrc

让我说我有这个bash脚本(测试):

#!/usr/bin/env bash
source ~/.zshrc
Run Code Online (Sandbox Code Playgroud)

在我的.zshrc中,我有以下内容:

autoload -U compinit
compinit
Run Code Online (Sandbox Code Playgroud)

当我尝试从终端窗口(zsh)运行'bash test'时,我收到错误,说找不到autoload和compinit命令.如果我只是从命令行执行source~/.zshrc,它可以正常工作.

我正在尝试设置我的开发环境,类似于这个博客,但是当脚本尝试并获取.zshrc文件时,它会失败.

任何见解将不胜感激.

bash zsh zshrc osx-lion

0
推荐指数
1
解决办法
2666
查看次数

Homebrew 不断显示警告以在 OS X 10.11 上设置 PATH

运行后我在 Mac OSX 10.11 上

brew doctor
Run Code Online (Sandbox Code Playgroud)

我的终端中有一个警告。

Warning: Homebrew's sbin was not found in your PATH but you have installed
formulae that put executables in /usr/local/sbin.
Consider setting the PATH for example like so
echo 'export PATH="/usr/local/sbin:$PATH"' >> ~/.zshrc
Run Code Online (Sandbox Code Playgroud)

在我的.zshrc文件中修复了这个 PATH 后,我brew doctor再次运行,这个错误仍然存​​在。

有什么建议?

macos homebrew zsh zshrc

0
推荐指数
1
解决办法
3215
查看次数

Zsh别名不起作用,但是在终端中粘贴时命令确实起作用

我的.zshrc文件中有一个别名,称为“管家”,如下所示:

alias housekeeping="git fetch -p && git branch -vv | grep ': gone]' | awk '{print $1}' | xargs git branch -d"
Run Code Online (Sandbox Code Playgroud)

当我运行此命令时,由于某种原因,我得到以下输出:

error: The branch '12795-add-ship-info-to-FAQ' is not fully merged.
If you are sure you want to delete it, run 'git branch -D 12795-add-ship-info-to-FAQ'.
error: branch '97167bb3f' not found.
error: branch '[origin/12795-add-ship-info-to-FAQ:' not found.
error: branch 'gone]' not found.
error: branch 'Edits' not found.
error: branch 'to' not found.
error: branch 'text' not found.
Run Code Online (Sandbox Code Playgroud)

看起来好像传递了错误的论点。

但是,当我直接从终端运行完全相同的命令时,确实得到了预期的结果。

我究竟做错了什么?

git bash zsh zshrc

0
推荐指数
1
解决办法
245
查看次数

sudo ln -sfn 有什么作用?

我在我的 Mac 上为 Android Studio 安装了 JDK(我之前已经这样做过),并使用 Homebrew 进行安装。完成后我得到了这些建议?我想知道我是否希望系统 Java 包装器找到 JDK,我应该对其进行符号链接吗?以及为什么我会首先想要它?另外,我正在使用 .zshrc,因为它现在是默认的 Catalina,并且想知道我是否以相同的方式设置 $PATH 变量?

For the system Java wrappers to find this JDK, symlink it with
  sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

openjdk is keg-only, which means it was not symlinked into /usr/local,
because it shadows the macOS `java` wrapper.

If you need to have openjdk first in your PATH run:
  echo 'export PATH="/usr/local/opt/openjdk/bin:$PATH"' >> ~/.zshrc

For compilers to find openjdk you may need to set:
  export CPPFLAGS="-I/usr/local/opt/openjdk/include"```
Run Code Online (Sandbox Code Playgroud)

java homebrew zshrc java-8 android-studio

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