Answers:
bash
可能是作为登录Shell入门的,在这种情况下,它不会.bashrc
自动读取。相反,它显示为.bash_profile
。从Bash手册:
因此,通常,您的〜/ .bash_profile中包含以下行
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
在任何特定于登录的初始化之后(或之前)。
因此,总而言之,请.bash_profile
在您的homedir中创建一个文件,并添加上面引用的行。
如果您bash
实际上是作为调用的sh
,则您需要使用.profile
而不是.bash_profile
(请参见上方Bash手册链接的“使用名称sh调用”部分)。
.bash_rc
的问题,但我的意思.bash_profile
。
[ -f ~/.bashrc ] && . ~/.bashrc
我正在运行Windows XP,并且遇到了同样的问题。我发现如何创建MSYS构建环境。
这是重要的一行:
为了帮助识别运行时版本和当前工作目录,可以将以下内容添加到~/.profile
文件中。
在MinGW shell中,我创建了.profile
:
cd ~
touch .profile
我使用Notepad ++将其编辑为Unix格式的文本文件.profile
,并将其保存在主目录中,C:\MinGW\msys\1.0\home\Your_Username_Here\.profile
然后我添加了我的别名并保存:
alias n='nano -w'
然后我从开始菜单启动了MinGW Shell快捷方式,然后欢呼,它起作用了!纳米,没有文字换行。
我希望这可以帮助你。
与@Koshmarr相似,但略有不同。mingw64
从git-scm.com下载的My 会/c/Users/[user-name]
在启动时加载。但是我的驾车(由cd ~
)找到了/h/
。我将.bashrc
和.bash_profile
插入~
驱动器,一切正常。
在.bash_profile
:
source ~/.bashrc;
只需弄清楚MINGW在哪里考虑住所并放在.bash_profile
那里。
如何设置MSYS Bash初始化文件
在Windows操作系统中,与Linux操作系统相比,您指向Bash使用的初始化文件(即profile,bash_profile,bashrc)的方式有所不同。
Windows和Linux OS的区别在于它们的文件系统结构,这导致Bash文件位置和文件命名约定不同。
如何设置MSYS Bash初始化文件(即配置文件,bash_profile和bashrc)
1)在WINOS中,打开位于'C:\ msys \ 1.0 \ etc \'此处的'etc'文件夹。注意。您应该在“ etc”文件夹中看到一个文件“ profile”。
2)保存一个无文件扩展名的文件(即,当您保存时,将保存类型设置为“ .all files”),文件名“ .bash_profile”为“ C:\ msys \ 1.0 \ home \ USERNAME”。注意。正如您在Linux OS Bash设置中所期望的那样,文件名(例如'.bash_profile')的前缀是点。
2)保存一个无文件扩展名的文件(即,当您保存时,将保存类型设置为“ .all files”),文件名“ .bashrc”为“ C:\ msys \ 1.0 \ home \ USERNAME”。注意。正如您在Linux OS Bash设置中所期望的那样,文件名(例如'.bash_profile')的前缀是点。
4)在文本编辑器中打开“配置文件”文件(升华文字x表示满意)注意:“配置文件”的文件位置为“ C:\ msys \ 1.0 \ etc \”
在“配置文件”文件中,滚动到文件末尾的文本行(即,滚动到底部),您应该看到一行测试,指示Bash将其当前目录更改为HOME(在MSYS中,HOME的定义如“配置文件”文件)
CD $HOME
5)在带有文本“ CD $ HOME”的行之前,复制以下代码-在“ profile”中添加此脚本将告诉MSYS bash运行bash_profile#---------------- -------------------------------------------------- --------- #modified BEGIN
# Note. -f is a flag in the file-test operator set of bash commands
# that test whether file exists
echo '[i] INFO loading personal environment variables and startup programs.... '
BASHRC="$HOME/.bash_profile"
if [ -f "$BASHRC" ]; then
source "$BASHRC"
fi
#modified END
#---------------------------------------------------------------------------
6)在文本编辑器中打开“ bash_profile”文件(Sublime Text x很好),文件的末尾(在文件底部)
7)在文件末尾复制以下代码-在'.bash_profile'中添加此脚本将告诉Bash运行'.bashrc'
#---------------------------------------------------------------------------
#modified BEGIN
# Note. -f is a flag in the file-test operator set of bash commands
# that test whether file exists
BASHRC="$HOME/.bashrc"
if [ -f "$BASHRC" ]; then
source "$BASHRC"
fi
#modified END
#------------------------------------------------- --------------------------
8)好的,现在让我们在“ .bashrc”中编写一个小脚本,以查看“ profile”是否正在调用“ bash_profile”以及“ bash_profile”是否正在调用“ .bashrc”。
8.1)考虑要创建的命令名称。让我们用“ t”表示测试
8.2)打开Bash终端并输入't'。Bash应该回复“ t:未找到命令”-如果未显示“ t:未找到命令”,则重复8.1和8.2,直到您的命令名称显示“未找到命令”。您不想为分配给bash BAD!的命令名称加上别名,因此它必须是“找不到命令”
8.3)好的,“ t”给了我一个“ t:找不到命令”。现在让我们将脚本写入“ .bashrc”
8.4)在“ .bashrc”中写
# Use double quotes or bash will not write it
alias t="echo passed test"
8.5)将文件'.bashrc'保存在'C:\ msys \ 1.0 \ home \ USERNAME'中
9)快到了。现在重新启动Bash终端,并确保关闭任何以前打开的Bash终端
10)输入端子“ t”。它应该回复“通过测试”。如果没有,请仔细检查代码是否正确编写(首先检查引号)
一些注意事项1)'源文件名'与'相同。文档名称'
2)“”双引号允许变量被其内容替换单引号不允许
3)$ HOME是/ home / USERNAME,与〜是/ home / USERNAME相同
4)函数总是比别名2更受青睐
我是Bash的新手。因此,不能保证我做到了最好的方法。
祝好运!