Questions tagged «bashrc»

与其他Bourne / POSIX shell相对,GNU的Bourne Again SHell特有的问题。对于一般关于Unix shell的问题,请改用/ shell标记。

5
在bashrc中使用别名时,如何测试可能的冲​​突?
有没有一种简单的方法来列出由于涉及别名命令的bashrc更新而导致系统中发生的所有命令冲突? 例如,有人alias ls=/path/to/user-generated/executable用bashrc 编写。如何发现这掩盖了实际命令(ls)。一种方法似乎是在采购bashrc之前和之后运行所有别名并比较输出。有没有更好的方法? 我正在运行Ubuntu 12.04。 bash --version GNU bash版本4.2.24(1)-发行版(i686-pc-linux-gnu)
12 bash  alias  bashrc 

5
非交互式外壳扩展别名
运行以下命令时,我无法在主机帐户上扩展别名: ssh user@server "bash -c \"alias\"" 我的.bashrc文件是: echo .bashrc # .bashrc shopt -s expand_aliases # Source global definitions (commenting this out does nothing) if [ -f /etc/bashrc ]; then . /etc/bashrc fi # User specific aliases and functions alias php="php55" alias composer="php ~/bin/composer.phar" 当我运行上面的ssh命令时,我确实看到了“ .bashrc”回显。但是,如果我尝试运行别名,我将一无所获。 我可以尝试“ bash -ic”,但这实际上是在脚本中,我无法轻易对其进行更改,并且我想知道为什么它不起作用。 输出 ssh …
12 bash  ssh  alias  bashrc 

4
禁用bash中的作业控制(CTRL-Z)
有时我偶然会碰巧按下CTRL+ Z,我的应用程序就会消失在后台。我知道,我可以用将它带回来fg,所以没什么大不了的。但是我想知道还是要关闭它job control。在我的一生中,我不记得有什么需要的实例,在我看来,它只是过去的遗物。 可以job control完全禁用吗?还是我错过了一些东西,这个功能可能有用?我如何在我的手机上禁用它.bashrc 更新: 我已经尝试过set +m@Falsenames建议。但是,这仅在我在终端中键入时有效。添加set +m到我.bashrc没有任何效果。

2
是否可以使用“。” 在Ubuntu和OS X中的.bashrc中运行文件而不是源文件?
好的,因此source可以分别在当前外壳中运行该脚本.,例如,在运行脚本中使用“。”和“ source”进行了详细说明,但是,具体地说,在我的.bashrc文件中,我具有: [ -f ~/.bash_aliases ] && source ~/.bash_aliases [ -f ~/.git-completion.bash ] && source ~/.git-completion.bash [ -s ~/.autojump/etc/profile.d/autojump.sh ] && source ~/.autojump/etc/profile.d/autojump.sh 我可以将其替换为: [ -f ~/.bash_aliases ] && . ~/.bash_aliases [ -f ~/.git-completion.bash ] && . ~/.git-completion.bash [ -s ~/.autojump/etc/profile.d/autojump.sh ] && . ~/.autojump/etc/profile.d/autojump.sh 可以在OS X上使用-是“ POSIX”问题吗? 我尝试了一下,以上内容似乎仍然可以在Ubuntu上使用(因此它们实际上与sourceand都可以使用.,也就是说,它们在外壳程序中为我提供了所需的功能)。我应该选择一个,还是错过了什么? FWIW,在OS …
11 osx  bashrc  posix 

4
是否有可能是非交互式的登录外壳?
在解释此流程图时 我发现在男子bash中: 当bash作为交互式登录shell或通过--login选项作为非交互式shell调用时,它首先从文件/ etc / profile中读取并执行命令(如果该文件存在)。 声明交互式登录外壳读取/etc/profile(不带--noprofile) 另外,非交互式外壳,选项为--loginread/etc/profile 这似乎留下了一些可能的登录外壳程序(其中以$0开头的-)可能是非交互的(运行脚本,可能像这样简单date)可能无法读取(源代码)/etc/profile。 确认或否认这个想法: 首先,我尝试使用su -l -,-以第一个字符开头的登录shell,但是我无法使其变为非交互式(并能够提供测试以测试它)。 叫类似 $ bash -c 'date' -bash 不会报告为登录外壳程序(即使第一个字符是-)。 尝试一下以揭示细节: $ bash -c 'echo "$0 $- ||$(shopt -p login_shell)||";date' -bash -bash hBc ||shopt -u login_shell|| Fri Aug 19 06:32:31 EDT 2016 该$0有-作为第一个字符,没有i在价值(交互)$-,但它未报即一个login_shell(在-u)。在这种情况下,/ etc / profile没有被读取,但是我不确定这是正确的测试。 在此答案中还提到了“罕见的非交互式登录外壳” ,但对这个问题不够具体。 这个家伙的结论是,/etc/profile总是读。 阅读摘要表:交互式和非交互式登录shell均已阅读 …
11 bash  login  startup  bashrc 

1
查看Shell函数的当前定义
因此,我一直在编辑bashrc,尽管有错误的函数定义已更新了bashrc,但我仍打开了一个带有可用功能定义的终端。(因为在我获取更新的bashrc之前,定义不会更改)在这种情况下如何查找工作函数定义?例如,如果我键入: alias function_name 我可以看到该别名的定义。功能上是否有类似的命令?如果不是,是否有命令输出当前终端正在使用的整个bashrc?
11 function  bashrc 



3
为什么root不提供.bash_profile文件?
每次我尝试使用su(not su -)作为root用户登录时,它都不来自.bash_profileuser1的主目录。 基本上,我的/var/root目录没有.bash_profile,所以我将.bash_profilein 的副本放入/var/roottest中su -。 它也不会自动.bash_profile(在中var/root)提供源。 无论如何,我想.bash_profile在使用时自动将user1 设为root帐户su。 我该怎么办? (它曾经工作过!有一天,它只是没有来源!也许bash中的设置发生了变化?source .bash_profile登录后进入时可以工作。) 我正在使用Mac和OS X Yosemite。
10 osx  root  bashrc  su 

1
Jenkins不使用系统的语言环境
在詹金斯,我有一个有趣的举动。 Jenkins的shell不使用我的系统语言环境。 Jenkins jenkins在我的系统上以用户身份运行。 jenkins通过SSH 登录: locale 显示: LANG = zh_CN.UTF-8 LANGUAGE = zh_CN:zh- CN LC_CTYPE =“ zh_CN.UTF-8” 等。 env显示LANG和LANGUAGE变量: LANG = zh_CN.UTF-8 LANGUAGE = zh_CN:zh id 显示用户的ID: uid = 1008(jenkins)gid = ... 将以上命令输入到jenkins作业外壳: locale 显示: LANG = LANGUAGE = LC_CTYPE =“ POSIX” 等... env并没有表现出LANG与LANGUAGE变数 id 显示用户的ID(如预期): uid = 1008(jenkins)gid …

1
是否存在一个Bash文件,无论是登录还是非登录,该Bash文件都将始终以交互方式提供?
据我所知,交互式外壳可能是登录的,也可能不是登录的,它们的启动文件是不同的。 如果交互式+登录shell→ /etc/profile然后第一可读~/.bash_profile,~/.bash_login和~/.profile 如果是交互式+非登录外壳→ /etc/bash.bashrc则~/.bashrc 我想每次使用交互式外壳程序时都设置一些变量,而不管它是否是登录外壳程序。
10 bash  login  bashrc 

1
bashrc惰性替换
如何在运行时而不是在执行〜/ .bashrc时(打开终端时)获得~/.bashrc别名来评估$()替换? 我经常运行此命令,以便为其添加别名: svn diff -r $(svn info | grep ^Revision | awk {'print $2'}):HEAD $(svn info | grep ^URL | awk {'print $2'}) | colordiff 但是,当我将其添加~/.bashrc为别名时,我看到评估被硬编码为它们在打开终端时所具有的值: $ alias alias svnbranch='svn diff -r 178184:HEAD svn+ssh://branches/t4252 | colordiff' 如果我在其中打开终端,~则会收到错误消息: svn: E155007: '/home/dotancohen' is not a working copy svn: E155007: '/home/dotancohen' is …
10 bash  shell  quoting  alias  bashrc 

1
.bashrc没有被执行
我有一个用户(非root用户),该用户的~/.bashrc文件中带有一些别名。 但是看起来文件不是在登录时执行的。如果我这样source ~/.bashrc做了,它就会按照预期的那样工作。但是不~/.bashrc应该在每次登录时都执行吗? 权限设置为644(与我的root用户的权限相同.bashrc,效果很好)。文件归相关用户所有。
10 bash  rhel  bashrc 

1
.inputrc与.bashrc设置
我注意到其中的一些设置.bashrc和.inputrc文件看起来相同或相似,例如: shopt -s nocaseglobvs set completion-ignore-case export HISTSIZEvs set history-size export HISTFILESIZEvsset history-size .inputrc设置是否还会影响python shell中的完成和历史记录大小(如果在终端中运行)? 是HISTSIZE通过限制history-size或它覆盖它?
9 bashrc  inputrc 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.