如何修改conda 'source activate'ps1行为?
我当前的bash ps1如下: bldred='\e[1;31m' # Red bldcyn='\e[1;36m' # Cyan bldwht='\e[1;37m' # White txtrst='\e[0m' # Text Reset - Useful for avoiding color bleed export PS1="\n\[$bldred\]\u\[$txtrst\]@\[$bldwht\]\h\[$txtrst\]:\[$bldcyn\]\w\[$txtrst\]$ " 但是,运行: source activate 默认情况下,告诉conda将env-name预先env-name:PS1: () user@short-domain:fullpath$ 有没有办法告诉conda在我的PS1中插入env-name,特别是在newline之后? 之后? 解决方案 我发现的最简
550 2023-03-27
编程技术问答社区
Bash提示历史问题
这是一个很奇怪的,我无法与Google找到一个很好的答案(当然,我只是失败了).在我的bash提示下,如果我为提示的一部分着色,当我敲打"上"以上命令时,我将无法在以前的一定数量的字符(特别是31)之后进入该行的开始. 我当前的bash提示是:(颜色是在我的.bashrc中定义的) PS1="[\u@$cyan\h$NC \w] " 但是,如果我将其更改为: PS1="[\u@\h \w] " 它不再阻止我进入线的开头. 奇数部分是视觉上的,当我碰到家中的开始线(或使用箭头键)时,它将在字符串中停止11个字符,但是如果我从那里进行编辑,则确实会编辑编辑启动在线的开头. 有人知道为什么会发生这种情况吗?当我进行服务器管理时,我想在提示中使用颜色,而颜色是我一目了然地区分盒子的颜色. 解决方案 非打印序列(例如颜色代码)必须被\[和\]包围,因此它们的长度不被计算为提示长度的一部分.
28 2023-03-22
编程技术问答社区
如何告诉bash在不能断言作业控制时不发出警告 "不能设置终端进程组 "和 "在这个shell中没有作业控制"?
要创建一个新的交互式bash shell,我叫bash -i.由于我的环境问题,BASH无法主张工作控制(我正在使用GNU EMAC中的Cygwin Bash)并发出警告("无法设置终端过程组"和"此外壳中没有工作控制"). - 我必须在环境中使用残疾的工作控制,但我想摆脱警告: 我怎么能告诉巴什不要主张工作控制,不要发出这些警告?我显然仍然希望将外壳作为交互式. 注意:我在.bashrc>中尝试了set -m,但是BASH仍然在启动时写下警告 - ~/.bashrc文件可能在上执行 shell试图断言作业控制.有没有可行的命令行选项? 解决方案 man bash说set选项 这些选项也可以指定为shell调用的参数.注意,您需要+m而不是-m.诚然,该手册并不清楚. 但是,查看bash源代码(版本4.2),显然它忽略了该标志的状态.我会说这是一个错误. 应用以下小补丁使bash在启动时荣誉m标志.不幸的是,这意味着您必须重新编译bash. ---
20 2023-03-22
编程技术问答社区
无法为'PS1'动态地添加转义序列。
表示我想动态地包括转义序列: if [ -n $something ]; then user="\u" else user="admin" fi PS1='$user@\h$ ' 问题是,而不是填写用户名,我的提示如下所示: \u@ubuntu-1$ 即使我逃脱反斜杠(user="\\u"),它仍然没有打印出用户名.如何获得这样的提示: andreas@ubuntu-1$ 解决方案 在尝试插入变量时使用双引号并希望它们展开. 您还有另一个选项,而不是处理它的解释时与\u和复杂情况进行交易. if [ -n $something ]; then user=`whoami` else user="admin" fi PS1="$user@\h$ "
10 2023-01-26
编程技术问答社区
如何使一个bash_profile函数在bash_profile内运行或后来被用户调用时表现得不同?
我的意思是,在~/.profile中,函数doit将在用户登录时说Welcome,但是当用户执行doit稍后时说其他单词. doit() { if some_test_here; then echo "Running within ~/.profile. Welcome." else echo "Called by user." fi } doit 我认为~/.profile在Linux上的Mac上更好.所以我用~/.profile为例. 解决方案 两种方法来传递参数,或检查环境. 使用呼叫中的呼叫中使用的参数 doit () { if [ "${1:-onlogin}" -eq onlogin ]; then echo "Running from .profile" else echo "Called by user" fi } doit o
28 2023-01-26
编程技术问答社区
有没有一种方法可以在不重启终端的情况下通过bash_profile "资源"?
我经常需要更改我的~/.bash_profile,并且我必须重新启动终端以进行传播的更改.有没有命令我可以运行重新源我的~/.bash_profile? 解决方案 是的,您可以运行: source ~/.bash_profile 或: . ~/.bash_profile 这将在当前shell中重新加载/重新源源/重新源源. 我将此命令放在我的~/.bash_profile中为方便起见: alias reprofile='source ~/.bash_profile' 然后我只键入reprofile或repro tab .
20 2023-01-26
编程技术问答社区
在capistrano 3 + sshkit + rvm中默认使用bash -login。
我有cap3任务 task :gemset do on roles(:all) do if remote_dir_exists?(".rvm") execute :rvm, :gemset, :use, "#{ Configs.rvm.ruby }@#{ Configs.rvm.gemset } --create" else info "RVM not installed" end end end 设置 rvm: ruby: ruby-2.0.0-p247 gemset: cap3 它应该在命令 之后在我的服务器上执行 rvm gemset use ruby-2.0.0-p247@cap3 --create 但它给了我 DEBUG [9bd5fc11] RVM is not a function, selecting rubies with 'rvm use ...' will no
14 2023-01-26
编程技术问答社区
一个运行脚本的bash函数
我正在尝试编写名为myrun的bash函数,这样做 myrun script.py 使用python文件: #MYRUN:nohup python -u script.py & import time print 'Hello world' time.sleep(2) print 'Once again' 将使用文件的第一行中指定的命令运行脚本,刚刚在#MYRUN: 之后. 我应该在.bashrc中插入什么?这里是我现在拥有的: myrun () { [[ "$1" = "" ]] && echo "usage: myrun python_script.py" && return 0 } 解决方案 一个简单的版本: $ function myrun { [[ "$1" = "" ]] && echo "usage: myrun python_scri
12 2023-01-26
编程技术问答社区
找到我的bash配置文件
有没有办法找到当前正在使用的Bash配置文件的名称.我搜索了.profile或.bashrc但没有找到它们.然而,我仍然可以打印一些env变量i.e $ home,$ path 解决方案 如果您使用其中一个sudo su -,bash --login,ssh user@host, 这些被认为是登录贝壳, 然后你可能想要尝试 /etc/profile 〜/.bash_profile 〜/.bash_login 〜/.profile 其他解决方案 环境变量存储在每个进程本身中.$ HOME和$ PATH存储在BASH过程本身中. 所以,首先您必须查找bash process的进程ID.you可以使用ps命令获取进程的进程ID. 然后, cat /proc/your_bash_process_id/environ 我希望这将有助于你. 其他解决方案 随着有人说,这些文件位于主目录中. ( wiki文章.) 我会告诉你这里如何
30 2023-01-26
编程技术问答社区
如何在Docker中为根目录.bashrc
我想在(centos:6)docker容器a .bashrc中给我的根用户.但是,当我运行容器时,我发现.bashrc尚未采购.可以做到吗? 我的构建命令: ... RUN touch .bashrc RUN echo "iptables -t nat -A OUTPUT -d hostA -p tcp --dport 3306 -j DNAT --to hostB" >> .bashrc ... 我的运行命令: docker run -it --cap-add=NET_ADMIN myImage /bin/bash 解决方案 事实证明,我正在错误地添加文件.它应该是/root/.bashrc,而不仅仅是.bashrc.在正确的位置中添加文件后,不需要运行命令或CMD. 构建 ... ADD iptables /iptables RUN touch /root/.bashrc \ && cat iptables >> /root/.bashrc
46 2023-01-25
编程技术问答社区
OCLint不在系统路径中
我有一个Xcode项目.我试图将OcLint集成在其中.但它说没有oclint.我可以下载并向我的系统路径下载并添加OCLint,以便我可以在我的Xcode项目中集成OCLint. 编辑: 当我有一个oclint脚本作为 hash oclint &> /dev/null if [ $? -eq 1 ]; then echo >&2 "oclint not found, analyzing stopped" exit 1 fi 给出oclint not found, analyzing stopped. 请给我一个解决方案. 解决方案 您可以从以下命令下载Oclint: http://archives.oclint.org/nightly/oclint-0.9.dev.02251e4-x86_64-darwin-14.0.0.tar.gz 到integarte进入您的Xcode项目U可以使用此链接: http://docs.oclint.org/e
22 2023-01-25
编程技术问答社区
如何编辑损坏的bash配置文件
我导出了我的bash配置文件中不正确的路径,我不能再打开它来编辑它.更糟糕的是,我的终端基本上完全破碎,因为这一点. 如果我运行vim ~/.bash_profile 我得到以下错误: -bash:vim:未找到命令 --bash:sed:命令找不到 如果我尝试使用像ls的命令,我得到: -bash:ls:未找到命令 --bash:sed:命令找不到 如果我甚至无法编辑它,我如何修复我的BASH配置文件? 解决方案 您的终端未损坏,Bash刚刚丢失,因为它使用了您在〜/.bash_profile中保存的此断路器变量.因此,当您重新加载(来源)您的配置时,Bash只是从同一个断路中重新读取. 要修复它,必须编辑配置或替换文件. 同时,您可以从命令行的当前shell会话暂时恢复(可能)默认路径,从命令行: PATH="/bin:/sbin:/usr/local/bin:/usr/bin:/usr/sbin:" 否则,您必须
56 2023-01-24
编程技术问答社区
Bash .profile未加载
我不确定发生了什么,但我的 ~/.profile 不再加载. 任何人都可以看到以下内容有问题吗? export PS1="\u@local [\w]# " export EDITOR="subl -w" export CLICOLOR=1 export LSCOLORS=GxFxCxDxBxegedabagaced alias vst="ssh -i ~/.ssh/vst root@vst" 我知道一个事实,使用 PS1 就像我试图这样做应该做 Peter@local [~/path/to/file]# 但事实并非如此. 有什么想法吗? 解决方案 ~/.bash_profile 或 ~/.bash_login 存在吗?如果是这样,那将被用来代替 ~/.profile.
152 2022-08-18
编程技术问答社区
Python和IPython的路径不同
我在没有管理员权限的服务器上工作,所以我在本地安装了软件包 pip --user.为了让 python 看到这条路径,我将它添加到我的 .profile 中: export PYTHONPATH=$PYTHONPATH:/Users/delavega/Library/Python/2.7/lib/python/site-packages 这成功地将本地安装的包添加到 python 的路径中,这可以通过调用 sys.path() 来证明.然而,IPython不使用本地安装的包,而是使用全局安装的包:/usr/local/lib/python2.7/site-packages 打印 python 和 IPython 的路径,我的本地 site-packages 文件夹在两者中,但在不同的地方,路径总体不同: Python: ['', '/usr/local/Cellar/python/2.7.6/Frameworks/Python.framework/Versions/
528 2022-07-19
编程技术问答社区
sudo环境变量在linux中是如何工作的?
我目前正在通过以下困惑: 须藤回声$ MYVAR 从我的.bashrc输出我的变量, 但须藤./test.sh 不,这里test.sh为可执行如下:#!/ bin / sh的 回声$ MYVAR 我运行Ubuntu 14.04。有人可以告诉我一下,这是怎么回事呢? 解决方案 当您运行须藤回声$ MYVAR ,环境变量是在你的shell之前扩大...在须藤命令获取看到它。 当您运行使用须藤,该脚本只能看到的环境变量须藤已包含在一个脚本环境。默认是不包括他们...出于安全原因。 的须藤命令有一个选项 -E ,告诉用户要通过所有的环境命令变量。在sudoers配置文件可能或可能不准许此
152 2022-07-19
编程技术问答社区
在每个项目的基础上自动定义GOPATH
有关每一个项目我创造我所要做的出口GOPATH = {path_to_project} 每次我cd到项目目录。必须有一个更简单的方法。是不是有一些方法我可以创建一个指定目录中的.bashrc或.bash_profile中的文件来定义该项目的GOPATH? 例如,我有两个项目去A和B,如果我有我的项目,然后为这两个项目的二进制文件将被存储在同一个地方之间移动未重新定义一个奇异GOPATH。更重要的是,对于第三方库二进制文件将被存储在同一个地方,所以我不保持在每个项目的基础上同一个库的多个版本的方法。 不过,如果我能够在每个项目的基础上定义GOPATH那么所有的二进制文件和第三方库的一个项目而定。这似乎是在大多数其他的语言环境处理软件包管理的常用方式(红宝石rbenv,蟒蛇vertiualenv等) 解决方案 您可以像使用 autoenv 一个工具来设置一个自动执行脚本的时候,你 CD 到一个特定的目录。 你的目的,一个例子 /happy/go/path/yay/.env 文件
366 2022-07-19
编程技术问答社区
/usr/bin/env 解释器不好。
试图让亚马逊的EC2命令行工具来工作。这是我的.bash_profile样子。我得到的错误:/users/zmjones/.ec2/bin/ec2-add-keypair:在/ usr / bin中/ ENV:不好间preTER:不允许操作 PATH =的/ usr / bin中:/ bin中:/ usr / sbin目录:/ sbin目录中:/ opt / local / bin目录:$ PATH PATH = /选择/ local / sbin中:在/ usr / local / bin目录:在/ usr / X11 / bin中:在/ usr / texbin:$ PATH PATH =的/ usr /本地/的texlive / 2011 /斌/ x86_64的-达尔文:$ PATH PATH = /库/框架/ EPD64.framework /版本/电流/斌:$ PATH EC2_HOME =〜/ .ec2 PATH = $ PATH:$ EC2_HOME /箱 EC2_PR
288 2022-07-19
编程技术问答社区
点空间 ( [点][空间][文件名] )
格式为[点][空格][文件名]的命令是什么意思? 例子 . ./setup.sh 在 .bashrc 文件中我们也有这样的一行 . "$HOME/.bashrc" 这是什么意思? 解决方案 '.'运算符也称为“源" 根据这个论坛帖子, 首先 '.'是命令“源",用于从作为参数给出的文件名中读取和执行命令.第二 '.'是当前目录. . ./setup.sh 与 相同 source ./setup.sh 或source setup.sh(如果当前目录 ./在 PATH 环境变量中). 这是手册http://ss64.com/bash/source.html 这通常用于在当前 shell 中运行脚本,以帮助设置执行环境以及设置别名.
192 2022-07-19
编程技术问答社区
Laravel安装: 如何将~/.composer/vendor/bin目录放在你的PATH中?
我在Ubuntu 14.04上,我一直在尝试所有可能的方法来安装Laravel以无济于事.错误消息我尝试的一切.我现在在QuickStart文档中尝试第一个方法,即通过Laravel安装程序,但它说"确保在路径中放置〜/.composer/供应商/bin目录,以便在您的情况下找到laravel可执行文件在终端中运行laravel命令."所以我的问题是,我该怎么做?这可能是一个简单的问题,但我真的很沮丧,并会欣赏任何帮助. 解决方案 将此文件夹放在路径环境变量类型 上 export PATH="$PATH:$HOME/.composer/vendor/bin" 这将文件夹附加到现有路径,但是,它只为您当前的终端会话活动. 如果要自动设置,则取决于您正在使用的shell.对于bash,您可以使用您喜欢的编辑器将此行附加到$HOME/.bashrc或在shell上键入以下内容 echo 'export PATH="$PATH:$HOME/.composer/vend
5206 2022-07-19
编程技术问答社区
BASH:对用户输入的文本采用不同的颜色
我一直在整理我的 BASH 提示符. 目前看起来是这样的: 代码如下: # NOTE: OSX uses .bashprofile http://superuser.com/questions/244964/mac-os-x-bashrc-not-working # http://mywiki.wooledge.org/BashFAQ/037 bold=$( tput bold || tput md ) black=$( tput setaf 0 ) red=$( tput setaf 1 ) green=$( tput setaf 2 ) blue=$( tput setaf 4 ) white=$( tput setaf 7 || tput AF 7 ) RESET=$( tput sgr0 ) # https://github.com/sickill/stderred export DYLD_INSERT_LIBRARIES="/usr/lib/libstder
594 2022-07-17
编程技术问答社区