我知道这不是最佳实践,但在我的开发系统上,我以 root 身份登录。.bashrc 文件的等价物是什么,以便我可以为某些函数设置别名?
我找到了/etc/bash.bashrc&/etc/bash.bashrc.local但我不确定在哪里放我的命令。
运行 x86_64 SUSE。
谢谢,mjb。
我在 Windows 7 上使用MinGW。我有.bashrc一些别名。该文件位于我的主文件夹中,这是 MinGW 启动我的地方,因此它也认为该文件夹是我的主文件夹。它不会自动加载文件夹的内容。我必须运行bash命令才能使别名工作。
我尝试将其重命名为.bash_profile. 这只会让事情变得更糟,因为它没有自动加载,也没有在我bash手动运行时加载。
我该如何解决这个问题?
为了启动我的开发环境,我写了一个小脚本。一部分是打开一个带有多个选项卡的 gnome 终端,其中应该自动执行一些命令。其中一些命令依赖于已经执行的 .bashrc。但是当使用
gnome-terminal --tab -e "command" --tab --tab
该命令在 .bashrc 执行之前执行。是否有可能使自动 gnome-terminal -e 表现得像手动使用的一样?(即使像“cd /foo/bar”这样的命令也不适用于 gnome-terminal -e)
当我尝试bash像这样为提示着色时:
export PS1="\e[0;31m[\u@\h \W]\$ \e[m "
Run Code Online (Sandbox Code Playgroud)
它会中断回车(而不是在行已满时转到新行,而是从同一行开始并擦除输入文本)。
如果我删除颜色序列它工作正常。
我使用 Ubuntu 11.10 和终端(guake 也有同样的错误)。
几乎每次我通过命令行(即 bash)“cd”到我机器上的不同目录(在这种情况下,运行 Mac OS X 10.6.7)时,我都会立即输入“ls”以获取内容列表在那个目录中。我试图找出一种覆盖“cd”的方法,以便它更改为请求的目录,然后一次性给我列表。
我已经能够获得我正在寻找的基本功能,并将以下行添加到我的 ~/.bash_profile
function cl() { cd "$@"; ls -l; }
Run Code Online (Sandbox Code Playgroud)
这按预期工作。更改到请求的目录,然后向我显示内容。我遇到问题的地方是试图覆盖“cd”本身而不是创建新的“cl”命令。
下面的事情不工作
##### Attempt 1 #####
# Hangs the command line
function cd() { cd "$@"; ls -l; }
##### Attempt 2 #####
# Hangs the command line
function cd() { 'cd' "$@"; ls -l; }
##### Attempt 3 #####
# Does not change directory.
# Does list contents, but of the directory where you started.
function cd() { /usr/bin/cd "$@"; ls …Run Code Online (Sandbox Code Playgroud) 当我通过 ssh 进入远程服务器时,我喜欢改变终端的颜色。我使用setterm远程 ~/.bashrc 文件来完成这项工作。但是,当 I 时exit,终端颜色不会重置为本地颜色。
我解决了这个问题,但我不确定这是否是最好的解决方案。这是我能想到的。
在远程服务器上的 ~/.bash_logout 上,我输入:
echo -e "\033[0m"
/usr/bin/clear
Run Code Online (Sandbox Code Playgroud)
只是出于好奇:有人知道更好的方法吗?(我echo -e "\033[0m"从http://edoceo.com/liber/linux-bash-shell得到了这条线)
我什么时候应该使用两个 .bashrc 文件中的每一个来设置我的别名、提示等?
我的.bashrc文件包含一行这样的效果:
alias prog="/path/to/script.sh $(find $(pwd) -name prog)"
Run Code Online (Sandbox Code Playgroud)
当我注释掉这一行时,当我打开一个新终端时,Bash 几乎立即启动。有了这条线,在我的光标出现之前有 4-5 秒的延迟。
删除嵌套命令$(pwd)等也会再次加快速度。为什么会这样?我还能以某种方式使用嵌套命令吗?
我在 .bashrc 文件中给出了别名,如下所示。但是别名不起作用。为什么?
alias c='clear'
alias l='ls -lt'
alias h='history'
alias d='ls -lt |grep "^d"'
export ORACLE_HOME=/ora11gr2/app/oracle/product/11.2.0/db2
export ORACLE_LIB=/ora11gr2/app/oracle/product/11.2.0/db2/lib
export PATH=$ORACLE_HOME/bin:/usr/vac/bin:/usr/vacpp/bin:.
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:.
Run Code Online (Sandbox Code Playgroud) bashrc ×10
bash ×6
linux ×3
alias ×2
bash-alias ×2
shell ×2
terminal ×2
colors ×1
command-line ×1
mingw ×1
ps1 ×1
root ×1
ubuntu-11.10 ×1