有没有办法找到当前正在使用的bash配置文件的名称.我搜索了.profile或.bashrc但没有找到它们.但是我仍然可以打印一些env变量,即$ HOME,$ PATH
所以我想创建一个可移植的bashrc/bash_profile文件.我有一个单独的脚本,我象征性地链接到.bashrc,.bash_profile等.然后$0我看着根据调用的脚本切换我做的事情.问题是shell调用bashrc脚本当然它执行bash真的$0对我来说意味着什么-bash.$1更多未设置为脚本名称.
所以我的问题是,在bash中如何获取正在执行的脚本的名称.不是执行它的二进制文件,例如bash?
我认为它给了我-bash与$1未设置,因为这实在不是一个新的进程.有任何想法吗?
我还在学习CLI及其中的细节,特别是这个.bash_profile.我对自己所学到的东西感到不知所措.
无论如何,我可以访问.bash_profile.如果我这样做,nano ~/.bash_profile那么文件出现,我可以自由编辑.然后我尝试添加我应该包括的行:
export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"
但是,当我尝试保存文件(或任何.bash_profile)时,我收到以下错误: [ Error writing /home/myname.bash_profile Permission denied ]
我目前的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\]$ "
Run Code Online (Sandbox Code Playgroud)
但是,运行:
source activate <env-name-here>
Run Code Online (Sandbox Code Playgroud)
默认情况下,告诉conda您env-name将my 放在前面PS1:
(<env-name-here>)
user@short-domain:fullpath$
Run Code Online (Sandbox Code Playgroud)
有没有办法告诉我在换行符后conda插入env-name我PS1的代码呢?
我需要在你的路径中添加〜/ bin目录.
但我不确定这个实际的命令是什么,我知道它在我的.bash_profile中
有没有人知道这个,或者有关如何在新mac上为终端设置新的.bash_profile的教程(UNIX)
我正在定制我的终端.
目前,我有以下内容:
我想要的是每个命令输出后的换行符,如下所示:
我能够完成某些事情的唯一方法就是在我的开头添加换行符PS1.这样可行,但是当我第一次打开bash提示符时,第一次在第一行之上有一个换行符,这让我很烦恼.有没有其他方法可以实现这一目标?
我正在尝试按照"入门引擎"Rails指南的教程进行操作,并发现:
$ bin/rails plugin new blorgh --mountable
Run Code Online (Sandbox Code Playgroud)
当我在终端上输入时,我得到:
bash: bin/rails: No such file or directory
Run Code Online (Sandbox Code Playgroud)
当我尝试$ rails它只是 工作正常.
我一直在使用命令行几个月,还有Rails.我知道$符号,但我对此之后"bin"的含义感到困惑.我习惯在$之后输入"Rails",但本教程说使用"bin"...
什么bin/意思?
我正在尝试编辑bash_profile文件,通过我的mac机器上的以下命令添加到我的sdk的路径.sudo touch~/.bash_profile; 打开-e~/.bash_profile
它在TextEdit中打开文件,但不允许我编辑它.虽然我在运行上述命令时已经给出了超级用户权限和密码.当我尝试编辑它时它会给我以下消息.
"您不拥有".bash_profile"文件,并且无权写入该文件.您可以复制此文档并编辑副本.只有副本才会包含您的更改." 我是mac的新手.所以请详细说明你的答案.
我在 my~/.bashrc中定义了一些函数,我想将它们转换为 Homebrew 包。目前,这些函数在我的命令行上充当自定义命令:
# .bashrc
function foo() {
# do something interesting
}
# at terminal
$ foo
# => does the interesting thing
Run Code Online (Sandbox Code Playgroud)
我已经使用brew create. 我目前的做法如下:
script,在一个目录中,brew-scriptbrew-script下载为 tarball,brew-script.tar.gz~/.bash_profile以包含script.bash_profile在 brew 配方中修改是不好的做法吗?(例如,当用 卸载时brew uninstall script, brew 应该以某种方式删除附加到的文本.bash_profile......解析.bash_profile似乎不是很有趣。)
是否已经建立了在 bash 脚本中包含函数的约定,以便它们可以从命令行使用?
简单地要求用户在他们的.bash_profile或 中添加一些文本是常见的.bashrc吗?
应该能够使用 brew 干净地安装,然后foo作为命令运行: …
至少在某些情况下,别名和添加 $PATH 位置可以互换使用。例如,查看 python 工具couchapp,我需要为可执行文件添加别名(如这里有用的描述)或通过 $PATH 使可执行文件可用。
这些是可以实现这一目标的两条线:
alias couchapp="~/Library/Python/2.7/bin/couchapp"
Run Code Online (Sandbox Code Playgroud)
或者
export PATH=$PATH:~/Library/Python/2.7/bin/
Run Code Online (Sandbox Code Playgroud)
这两者是否有非常明确的“更好”选择?为什么或者为什么不?