无法为'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$ "
20 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
34 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文章.) 我会告诉你这里如何
46 2023-01-26
编程技术问答社区
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.
176 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/
542 2022-07-19
编程技术问答社区
sudo环境变量在linux中是如何工作的?
我目前正在通过以下困惑: 须藤回声$ MYVAR 从我的.bashrc输出我的变量, 但须藤./test.sh 不,这里test.sh为可执行如下:#!/ bin / sh的 回声$ MYVAR 我运行Ubuntu 14.04。有人可以告诉我一下,这是怎么回事呢? 解决方案 当您运行须藤回声$ MYVAR ,环境变量是在你的shell之前扩大...在须藤命令获取看到它。 当您运行使用须藤,该脚本只能看到的环境变量须藤已包含在一个脚本环境。默认是不包括他们...出于安全原因。 的须藤命令有一个选项 -E ,告诉用户要通过所有的环境命令变量。在sudoers配置文件可能或可能不准许此
164 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 文件
376 2022-07-19
编程技术问答社区
点空间 ( [点][空间][文件名] )
格式为[点][空格][文件名]的命令是什么意思? 例子 . ./setup.sh 在 .bashrc 文件中我们也有这样的一行 . "$HOME/.bashrc" 这是什么意思? 解决方案 '.'运算符也称为“源" 根据这个论坛帖子, 首先 '.'是命令“源",用于从作为参数给出的文件名中读取和执行命令.第二 '.'是当前目录. . ./setup.sh 与 相同 source ./setup.sh 或source setup.sh(如果当前目录 ./在 PATH 环境变量中). 这是手册http://ss64.com/bash/source.html 这通常用于在当前 shell 中运行脚本,以帮助设置执行环境以及设置别名.
212 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
5242 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
608 2022-07-17
编程技术问答社区