我正在使用内置的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?
我的Jenkins运行Tomcat在 user 下运行buildman,因此所有作业都在该用户(in CentOS)下运行。我的一些工作取决于我在.bashrc. 但是,Jenkins 作业看不到该文件中设置的任何变量,即使该脚本应该是为非登录 shell 提供的,例如我认为 Jenkins 应该是(?)。
解决方法很简单:我只是将 .bashrc 中的所有变量复制并粘贴到 Jenkins 的构建命令脚本中。但这不是很优雅。有什么方法可以让 Jenkins 获取它运行的用户的 .bashrc ,以便它获得其通常的配置,而不必在每个作业中单独设置它?
我试图让我的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)
我不确定我做错了什么,也许我应该以某种方式'重置'提示?
为了让 rvm 工作,我在GNOME 终端中启用了“将命令作为登录外壳运行”,即使 .bashrc 已经force_color_prompt=yes设置,我也失去了漂亮的外壳颜色。结果我的 .bashrc 停止加载。我的 .profile 和 .bash_profile 是现在唯一加载的东西。
我在下面回答了修复。
我想知道是否可以根据当前路径或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)
先感谢您!
我有serveral的定制环境变量和函数在我的〜/ .bash_profile中,我想,当我开始我的屏幕会被自动调用screen -D -R,但显然将source ~/.bash_profile在~/.screenrc没有解决我的问题。
在每个新屏幕上,我都必须手动获取 bash_profile。
我注意到在创建新屏幕时找不到这个文件(当你创建新屏幕时,底部的一行显示正在执行的命令,它返回找不到文件。)
我在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) 这是别名:
# 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) 我正在运行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)
我怎样才能解决这个问题?先感谢您.