首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

转载:(Mac)在bash和zsh配置环境变量path的几种方法

在 Linux 里执行这个命令和 Mac 略有不同,你会发现 Mac 多了一个 zsh,也就是说 OS X 系统预装了个 zsh,这是个神马 Shell 呢?...目前常用的 Linux 系统和 OS X 系统的默认 Shell 都是 bash,但是真正强大的 Shell 是深藏不露的 zsh, 这货绝对是马车中的跑车,跑车中的飞行车,史称『终极 Shell』,但是由于配置过于复杂...2.2 解决 Mac 下配置环境变量在 ZSH 中无效的问题 在配置 gradle 的时候, 发现在 /etc/profiles 中设置了环境变量后, 还是不能在 zsh 中使用....但在 Terminal 中可以正常使用. 后来发现是因为没有在 .zshrc 中配置....在终端中输入: cat ~/.zshrc 以此来查看 .zshrc 文件, 找到里面的 “ # User configuration “ 部分. 可以看到当前 zsh 支持的所有本地已配置环境变量.

2.9K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在Bash命令中展开单引号内的变量?

    问题 我想从一个 bash 脚本中运行一个包含单引号且单引号内有其他命令和一个变量的命令。 例如:repo forall -c '.......$variable' 在这种格式中,美元符号 $ 被转义,变量没有被展开。 我尝试了以下几种变化形式,但它们都被拒绝了: repo forall -c '...."...$variable "'" 如果我将变量的值直接替换进去,命令就能正常执行。 请告诉我哪里出了错。 回答 在单引号内,所有内容都会被原样保留,无一例外。...不要拼接由 Shell 解析的字符串 你应绝对避免通过拼接变量来构建 Shell 命令。这和 SQL 片段的拼接(导致 SQL 注入)一样是个坏主意!...通常情况下,可以在命令中设置占位符,并将命令与变量一起提供,以便调用者能从调用参数列表中接收它们 例如,以下做法非常不安全。

    14910

    在 Linux 中如何强制停止进程?kill 和 killall 命令有什么区别?

    在日常工作中,您会遇到两个用于在 Linux 中强制结束程序的命令;kill和killall。 虽然许多 Linux 用户都知道 kill 命令,但知道并使用 killall 命令的人并不多。...这两个命令具有相似的名称和相似的目的(结束进程)。 那么,kill 和 killall 有什么区别呢?你应该使用哪个命令,在什么情况下应该使用它们?...kill 和 killall 命令之间的区别 kill 命令对进程 ID (PID) 起作用,它会终止您为其提供 PID 的进程。...evince & evince & evince & 现在,我运行了三个程序,进程名称为 evince,但进程 ID 不同。 要使用 kill 命令强制停止进程,您需要提供所需进程的 PID。...kill还是killall? 由于 kill 命令适用于单个进程,因此更安全。毕竟,在启动 killall 命令之前,您应该确保没有任何您不想杀死的类似名称的进程正在运行。

    3.5K30

    在Java中为什么不同的返回类型不算方法重载?

    本文已收录《Java常见面试题》:https://gitee.com/mydb/interview 方法重载是指在同一个类中,定义了多个同名方法,但每个方法的参数类型或者是参数个数不同就是方法重载...doSomething } public void method(Integer id, String name) { // doSomething } } 为什么不同返回类型不算方法重载...从方法签名的组成规则我们可以看出,方法的返回类型不是方法签名的组成部分,所以当同一个类中出现了多个方法名和参数相同,但返回值类型不同的方法时,JVM 就没办法通过方法签名来判断到底要调用哪个方法了,如下图所示...: 那为什么返回类型不能做为方法签名的一部分呢?...总结 在同一个类中定义了多个同名方法,但每个方法的参数类型或者是参数个数不同就是方法重载。方法重载的典型使用场景是 String 中的 valueOf 方法,它有 9 种实现。

    3.4K10

    在Bash编程中 set -e 与 trap exit ERR 有什么相同点和不同点

    在Bash编程中,set -e(或更正式地写作set -o errexit)和使用trap命令来捕获EXIT或ERR信号有相似的目的,即在脚本中检测错误并作出相应处理,但它们在行为和使用场景上有一些不同点...不同点 控制粒度: set -e提供的是全局性的错误处理机制,一旦任何命令失败,整个脚本立即终止。这可能导致在某些情况下过于严格,比如在预期某些命令可能会失败但希望后续命令继续执行的场景。...适用范围: set -e影响整个脚本,包括直接执行的命令和子shell。...兼容性: set -e:几乎所有的 Bash 版本都支持。 trap 'exit ERR' ERR:同样广泛支持,但可能在某些非常旧的 shell 中不可用。...需要注意的是:在“进程替换”(process substitution)中执行的 exit 命令或因错误触发的陷阱,并不会终止外部进程,只会结束那个特定的子进程。

    23610

    在 Bash 中如何实现复杂的数据处理和运算?

    在Bash中,可以使用各种命令和工具来实现复杂的数据处理和运算。...例如,可以使用awk命令计算文件中某一列的总和、平均值等。 使用sed命令进行数据处理和替换:sed是一个流编辑器,可以用于对文本进行替换、删除、插入等操作。...通过结合正则表达式,可以实现复杂的数据处理。 使用grep命令进行数据筛选:grep命令可以根据匹配条件筛选文本中的行。可以使用正则表达式来指定匹配条件,实现复杂的数据筛选。...使用bc命令进行数值计算:bc是一个用于数值计算的命令行工具,可以执行复杂的数学运算和表达式求值。...这只是其中一些常用的方法,还有许多其他的命令和工具可以用于复杂的数据处理和运算。根据具体需求,可以选择适合的方法来实现。

    11710

    【linux命令讲解大全】157.深入探究Linux操作系统中的halt和kill命令的用途和功能

    halt 关闭正在运行的Linux操作系统 补充说明 halt命令用来关闭正在运行的Linux操作系统。...语法 halt(选项) 选项 -d:不要在wtmp中记录; -f:不论目前的runlevel为何,不调用shutdown即强制关闭系统; -i:在halt之前,关闭全部的网络界面; -n:halt前,不用先执行...主要目录 bash内建命令 GNU coreutils中的命令 内建命令 概要 kill [-s sigspec | -n signum | -sigspec] pid | jobspec ......kill -s CONT 181357 jobs -l [1]+ 181537 Running sleep 90 & 注意 bash的作业控制命令包括bg、fg、kill...该命令是bash内建命令,相关的帮助信息请查看help命令。 外部命令类似的有xkill、pkill、killall等,用于不同的目的和场景。 参考链接:发送信号到进程

    13410

    Zsh使用指南(转)

    清除历史 你可能熟悉使用+R 命令来寻找你使用过的命令.在Bash和Zsh中这是非常方便的方法. Zsh有一个更好的方法.你可以输入一部分命令然后按 键. ?...kill命令的tab补全 我通常用kill 前先使用ps 命令检查它们的进程号,或者当我确认的时候用pkill 命令,Zsh给你另一种方法. ?...它会列出选项和说明.你也可以用方向键进行选择. 它步进在ls 命令中,他可以.它可以工作在像netstat ,git ,chmod 等大量的命令中....在Vim里编辑长命令 你可以在Bash和Zsh里用+k 在长命令里来删除字符(我这里怎么是+h ?).但是有时候你想用功能更强大的编辑器来写长命令....我直到最近才发现Zsh真他娘的好用啊.原因如下: Tab补全和选择 活跃的插件社区提供我们基本的dotfile Bash中99%的东西都能用 你准备好用zsh了吗? ?

    2.7K20

    Catalina 默认使用zsh了,你可习惯

    它接收用户命令,对命令做解析,然后调用系统中的应用。 shell 有很多种,这里介绍几个常见的shell。...Bourne shell 是一个交互式命令解释器和命令变成语言。 Bourne Again Shell (bash)是GNU计划的一部分,用来替代 Bourne shell。...在缓冲区中编辑多行命令。 多种兼容模式,例如使用/bin/sh运行时可以伪装成Bourne shell。 可以定制呈现形式的提示符;包括在屏幕右端显示信息,并在键入长命令时自动隐藏。...2663 ttys000 0:00.00 -zsh 由上面的例子可以看到,在打开自动完成功能后,使用Tab键可以自动提示cp命令的可选参数,也能够自动提示出kill命令可以杀掉的用户进程的...bash差异较大,但是在可读性上做了非常明显的改善 参考资料 在 Mac 上将 zsh 用作默认 Shell zsh取代bash 成为macOS Catalina的默认shell Fish shell

    1.5K41

    EVAL命令和EVALSHA命令的作用,在Redis中的实现方法

    图片EVAL命令EVAL命令是Redis提供的功能之一,它可以让用户在Redis中执行Lua脚本。Lua脚本是作为字符串参数传递给EVAL命令的,并在计算节点上执行。...EVALSHA命令EVALSHA命令用于执行一个事先存储在Redis中的Lua脚本,并返回脚本的执行结果。...Redis服务器维护一个由SHA1摘要值和对应脚本的映射表。客户端通过EVALSHA命令的参数传递SHA1摘要值到Redis服务器。服务器根据SHA1摘要值在映射表中查找对应的脚本。...EVALSHA命令相对于EVAL命令的优势和用法如下:减少网络传输:由于不需要将Lua脚本的内容传输到Redis服务器,EVALSHA命令可以减少网络传输的数据量。...缓存Lua脚本:根据SHA1摘要值将脚本存储在Redis服务器中,可以在多次调用时提高执行效率。安全性:将脚本保存在服务器端,仅通过SHA1摘要值进行调用,可以防止非法用户对脚本内容的获取和篡改。

    2.9K51

    【linux命令讲解大全】184.Linux 命令行教程之 sudo 命令详解

    sudo 以其他身份来执行命令 补充说明 sudo 命令用来以其他身份来执行命令,预设的身份为 root。在 /etc/sudoers 中设置了可执行 sudo 指令的用户。...所以 /etc/profile 文件中定义的 TEST_ETC 环境变量就看不到了,但是会加载 root 用户对应的配置文件,比如 root 用户的 SHELL 是 /bin/zsh,那么会加载 /root...例如,我们想让 foobar 用户在 linux 主机上以 jimmy 或 rene 的身份执行 kill 命令,这样编写配置文件: foobar linux=(jimmy, rene) /...操作符来从 ALL 中 “剔出” 一些命令一般是没什么效果的,一个用户完全可以把那个命令拷贝到别的地方,换一个名字后再来运行。...为什么?因为在命令运行之前,shell 把重定向的工作做完了,sudo 根本就没看到重定向。

    68810

    一次 Docker 容器内大量僵尸进程排查分析

    什么情况下会出现僵尸进程、孤儿进程 Puppeteer 工作过程启动的进程与线上事故分析 PID 为 1 的进程有什么特殊的地方 为什么 node/npm 不应该作为镜像中 PID 为 1 的进程 为什么...打开 iTerm,在终端中执行一个命令,比如 "ls",实际上系统会创建新的 iTerm 子进程,这个 iTerm 进程又创建了 zsh 子进程。...在 zsh 中输入的 ls 命令,则是 zsh 进程又启动了一个 ls 子进程。在 iTerm 中输入 ls 命令过程的进程关系如下所示。...这里需要特别注意的是 fork 的返回值的含义,在父进程和新的子进程中,它们的含义不一样。...signal receive: 2 在 Docker 镜像中使用 bash 启动这个程序时,发送 kill 命令给 bash 以后,bash 并不会将信号传递给 signal_test 程序。

    1.9K40

    【linux命令讲解大全】176.深入了解shutdown和sudo命令的用法和设置

    在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。...所以/etc/profile文件中定义的TEST_ETC环境变量就看不到了,但是会加载root用户对应的配置文件,比如root用户的 SHELL是/bin/zsh,那么会加载/root/.zshrc配置文件...例如,我们想让foobar用户在linux主机上以jimmy或rene的身份执行kill命令,这样编写配置文件: foobar linux=(jimmy,rene) /bin/kill 但这还有个问题...操作符来从ALL中“剔出”一些命令一般是没什么效果的,一个用户完全可以把那个命令拷贝到别的地方,换一个名字后再来运行。...为什么?因为在命令运行之前,shell把重定向的工作做完了,sudo根本就没看到重定向。

    25710

    终端与shell的区别

    shell为什么叫做壳 如上图,shell通过解析命令调用 系统调用和相关API操作内核命令,进而读写硬件完成任务。shell是最外的一层的接收用户操作,像一层壳一样裹在整个调用过程中。...比如色彩高亮、命令提示、智能补全、快速跳转等等附加功能。 我们在讨论配置终端的时候,实际上是在讨论配置shell。 为什么zsh如此受欢迎? 这个较新的shell与bash兼容,但包括更多的功能。...它像bash,但有很多附加功能,附加功能和可配置选项,你可能会喜欢,如果你在命令行上花费大量的时间。...Shell 是用来解决什么问题的? - Bryan Yuan的回答 - 知乎 Bash,Zsh和其他Linux Shell之间有什么区别? 为什么说 zsh 是 shell 中的极品?...- 韦易笑的回答 - 知乎 终端中的 zsh 和 bash

    78120

    如何在 Linux 中运行一个 Shell 脚本

    为什么当你在同一个目录下,却不能使用脚本名称?这是因为你的 Linux 系统会在 PATH 环境变量中指定的几个目录中查找可执行的文件来运行。...这就是为什么你可以在你系统的任何位置通过使用命令的名称来运作这些命令的原因。看看,ls 命令就是位于 /usr/bin 目录中。...看看,大多数的 shell 语法是大多数种类的 shell 中通用的,但是有一些语法可能会有所不同。 例如,在 bash 和 zsh 中数组的行为是不同的。...在 zsh 中,数组索引是从 1 开始的,而不是从 0 开始。 Bash Vs Zsh 使用 #!...如果你使用 zsh 的特殊语法,你可以通过在脚本的第一行添加 #! /bin/zsh 的方式来标识其是 zsh 脚本。 在 #! 和 /bin/bash 之间的空格是没有影响的。你也可以使用 #!

    3.5K20

    一、环境搭建、以及聊聊更重要的...

    对没有毕业、或者没有太多工作经验的朋友来说,未来在工作中会遇到的问题,我们认知并不是那么深刻。因此在学习过程中,很多东西我们都不知道为什么要这样做。...方法如下 # mac 系统: > sudo vi ~/.bash_profile # 在 .bash_profile 中添加下面一行: export PATH="$PATH:`yarn global bin...安装一个好用的命令行工具 对于windows系统来说,我们可以直接使用系统自带的cmd。但是cmd比较难用。因此我个人比较推荐大家安装git,并通过git中的git.bash工具进行指令操作。...创建第一个react项目 找到一个你专门用来存放项目的目录,例如我的目录名字叫做develop。在命令行工具中进入到这个目录,然后使用如下指令创建项目。...通常会自动打开 我的第一个React项目 在命令行工具中,注意关注这里的提示。 注意关注这里的两个地址 我们可以直接在电脑中输入http://localhost:3000访问项目。

    78210

    终极 Shell-MacTalk-池建强的随想录Customize to your needs…

    …… 第一个童靴可以坐下了,Mac 的最大优势是 GUI 和命令行的完美结合,不要把所有注意力放在 Mac 性感的腰身和明媚的显示屏上好吧,这不是妹纸!...显示如下: /bin/bash/bin/csh/bin/ksh/bin/sh/bin/tcsh/bin/zsh 在 Linux 里执行这个命令和 Mac 略有不同,你会发现 Mac 多了一个 zsh...目前常用的 Linux 系统和 OS X 系统的默认 Shell 都是 bash,但是真正强大的 Shell 是深藏不露的 zsh, 这货绝对是马车中的跑车,跑车中的飞行车,史称『终极 Shell』,但是由于配置过于复杂...中打开alias -s rb=mate # 在命令行直接输入 ruby 文件,会在 TextMate 中打开alias -s py=vi # 在命令行直接输入 python 文件,会用 vim 中打开...比如你想杀掉 java 的进程,只需要输入 kill java + tab键,如果只有一个 java 进程,zsh 会自动替换为进程的 pid,如果有多个则会出现选择项供你选择。

    1.9K80
    领券