标签: .bash-profile

我可以根据我所在的存储库有条件地激活 Git 提示吗?

我正在使用内置的git prompt shell 脚本来改进我的 Bash 提示符。

. ~/git-completion.bash
. ~/git-prompt.sh

export GIT_PS1_SHOWDIRTYSTATE=1
export GIT_PS1_SHOWUNTRACKEDFILES=1
export GIT_PS1_SHOWUPSTREAM="auto"
export GIT_PS1_SHOWCOLORHINTS=1
Run Code Online (Sandbox Code Playgroud)

我有这个庞大的企业应用程序存储库(成百上千个文件,一个非常深的目录树,.git目录几乎有 2 GB)。提示需要很长时间才能完成。

有没有办法告诉git-prompt.sh忽略这个工作区?无论是通过标志还是在我的.bashrc?

git bash .bash-profile git-bash

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

Jenkins 可以获取关联用户的 .bashrc 吗?

我的Jenkins运行Tomcat在 user 下运行buildman,因此所有作业都在该用户(in CentOS)下运行。我的一些工作取决于我在.bashrc. 但是,Jenkins 作业看不到该文件中设置的任何变量,即使该脚本应该是为非登录 shell 提供的,例如我认为 Jenkins 应该是(?)。

解决方法很简单:我只是将 .bashrc 中的所有变量复制并粘贴到 Jenkins 的构建命令脚本中。但这不是很优雅。有什么方法可以让 Jenkins 获取它运行的用户的 .bashrc ,以便它获得其通常的配置,而不必在每个作业中单独设置它?

bash environment-variables .bash-profile jenkins

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

在shell提示符下显示git分支?

我试图让我的shell提示符显示当前的git分支名称.

我已经阅读了一些教程和博客文章等,据我所知,我正在做正确的事情,但它似乎没有起作用.

我想提示看起来像这样:

dannys-macbook:hillcrest-store [master]$
Run Code Online (Sandbox Code Playgroud)

但目前它看起来像这样:

dannys-macbook:hillcrest-store danny$ 
Run Code Online (Sandbox Code Playgroud)

我在〜/ .bash_profile中添加了以下内容:

PATH=$PATH:/usr/local/bin; export PATH

COLOR1="\[\e[1;32m\]"
COLOR2='\[\e[1;1m\]'
COLOR3='\[\e[m\]'
GIT_STATUS=$(__git_ps1 " %s")
PROMPT_CHAR="$"

PROMPT="${COLOR1}\u@\h${COLOR3} \w${COLOR2}${GIT_STATUS} ${COLOR2}${PROMPT_CHAR$
PS1="$PROMPT"
export PS1
Run Code Online (Sandbox Code Playgroud)

我不确定我做错了什么,也许我应该以某种方式'重置'提示?

git branch prompt .bash-profile osx-lion

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

启用登录提示后,我没有外壳颜色

为了让 rvm 工作,我在GNOME 终端中启用了“将命令作为登录外壳运行”,即使 .bashrc 已经force_color_prompt=yes设置,我也失去了漂亮的外壳颜色。结果我的 .bashrc 停止加载。我的 .profile 和 .bash_profile 是现在唯一加载的东西。

我在下面回答了修复。

bash shell ubuntu .bash-profile

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

根据路径动态更改bash提示符

我想知道是否可以根据当前路径或pwd值更改PS1?

例如:

cd /home/user/directory1
PS1=[\e[1;32m\u\e[m@\e[1;34m\h\e[m \e[1;33m\W\e[m]
Run Code Online (Sandbox Code Playgroud)

但如果我在另一个目录中:

cd /home/user/thisdirectory
PS1=[\w]
Run Code Online (Sandbox Code Playgroud)

先感谢您!

bash prompt command-prompt .bash-profile ps1

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

在 linux 屏幕中保留我的 env

我有serveral的定制环境变量和函数在我的〜/ .bash_profile中,我想,当我开始我的屏幕会被自动调用screen -D -R,但显然将source ~/.bash_profile~/.screenrc没有解决我的问题。

在每个新屏幕上,我都必须手动获取 bash_profile。

我注意到在创建新屏幕时找不到这个文件(当你创建新屏幕时,底部的一行显示正在执行的命令,它返回找不到文件。)

linux screenrc .bash-profile

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

composer脚本使用较旧的php版本

我在webfaction上托管了越来越多的网站.好提供者!我遇到了一些我认为与Linux有关的问题.希望有人能提供帮助.

SSH命令php -v默认为较旧版本的php,所以我在my中创建了一个别名.bash_profile:

alias composer="php70 $HOME/composer.phar"
alias php="php70"
Run Code Online (Sandbox Code Playgroud)

当我预先形成一个php -v现在它返回PHP 7.0.到现在为止还挺好!

PHP 7.0.0 (cli) (built: Dec  4 2015 12:58:58) ( NTS )
Run Code Online (Sandbox Code Playgroud)

但现在当我运行一个作曲家安装并php -v在我的composer.json文件中放入一个脚本 - > post-install-cmd列表时:

{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
    "php": ">=5.5.9",
    "laravel/framework": "5.1.*"
},
"require-dev": {
    "fzaninotto/faker": "~1.4",
    "mockery/mockery": "0.9.*",
    "phpunit/phpunit": "~4.0",
    "phpspec/phpspec": "~2.1"
},
"autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {
        "App\\": "app/"
    } …
Run Code Online (Sandbox Code Playgroud)

php shell version .bash-profile composer-php

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

找不到端口命令

我正在尝试安装XFig并找到这篇文章.但是当我试图sudo port selfupdate得到错误时sudo: port: command not found.

我正在使用zsh并尝试根据两者修改路径.zshrc,.bash_profile但仍然没有运气.

目前PATH.zshrc文件看起来像这样

export PATH="/Users/chintanshah/anaconda/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

macos macports zshrc .bash-profile

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

转义bash别名中的字符

这是别名:

     # make a tmux session in working dir with the name of the dir
     alias th='tmux new -s $(pwd | tr '\/' '\n' | tail -n 1)'  
Run Code Online (Sandbox Code Playgroud)

由于转义字符或'别名内的单引号,它不起作用.打印出来

    $ type --all th
    th is aliased to `tmux new -s $(pwd | tr / n | tail -n 1)'
Run Code Online (Sandbox Code Playgroud)

看起来它只是剥离了'\.

我最终通过将单引号更改为双引号来修复它.

     # make a tmux session in working dir with the name of the dir
     alias th='tmux new -s $(pwd | tr "\/" "\n" …
Run Code Online (Sandbox Code Playgroud)

unix linux bash aliases .bash-profile

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

获取权限拒绝运行perl可执行文件

我正在运行OS X,基本上,我想设置一个目录,我可以删除一些Perl可执行文件并使用它们而不必键入

$perl /this/is/the/path/name.pl
Run Code Online (Sandbox Code Playgroud)

每次我想用一个.所以我修改了我的.bash_profile,为我想要删除可执行文件的桌面上的目录添加了一个文件路径.我通过添加修改了我的.bash_profile

PATH=$PATH:/Users/Wes/Desktop/Perl_dir; export PATH
Run Code Online (Sandbox Code Playgroud)

现在,它找到了我想要的Perl文件,但拒绝了我这样的权限

-bash: /Users/Wes/Desktop/Perl_dir/phylo.pl: Permission denied
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?先感谢您.

perl executable path permission-denied .bash-profile

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