我想在终端中创建永久别名,我已经阅读了有关如何操作的答案:https : //askubuntu.com/a/5278/364819
但是我遇到了一个小问题,我找到了代码:
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Run Code Online (Sandbox Code Playgroud)
如答案中所述。但是我实际上找不到可以在.bash_aliases其中设置这些永久别名的文件。
所以我的问题是,这个文件的位置在哪里,如果我需要创建它,我是否只在我的主用户目录目录中创建它?
我在 Ubuntu 14.10 上运行。
我正在尝试创建一个目录并cd进入其中:
function abc() {
appname=$1
appdir="$HOME/code/$appname"
if [ mkdir $appdir -a cd $appdir ]; then
echo Success
else
echo Failed to create and switch directory
fi
}
Run Code Online (Sandbox Code Playgroud)
当我重新加载 bashrc ( . ~/.bashrc) 时,出现错误:
bash: [: too many arguments
Failed to create and switch directory
Run Code Online (Sandbox Code Playgroud)
我该如何解决?又是什么[:错误是什么意思?
附言。有人可以指导我阅读“非神秘”的 bash 脚本教程吗?
无论我尝试运行什么,我都会收到错误消息:
The command could not be located because '/usr/bin' is not included in the PATH environment variable.
Run Code Online (Sandbox Code Playgroud)
我在我的 .bashrc 文件中做了一些修改,但后来删除了另外两行。然而不知何故 PATH 变量似乎已被破坏。
出于某种原因,我成功地将新目录添加到我的目录中,$PATH但是当我在终端中运行命令时,$PATH并没有调用它们。
我修改$PATH了在~/.bashrc文件中,添加的最后一个目录
# Set the default system $PATH:
PATH="/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/games:**/home/aldin/mybin/fasta-35.4.12/bin**"
Run Code Online (Sandbox Code Playgroud)
但是当我运行命令时,它说command not found。但是,当我输入实用程序的完整路径时,我就可以运行它。
有没有人遇到过这个问题?你知道我能做些什么来解决这个问题吗?
我使用的是 IntelliJ IDEA,它使用了 .bashrc 脚本中定义的一些环境变量。
如果我从终端运行它的 shell 脚本一切正常,但是如果我创建一个 .desktop 文件来从启动器运行它,那么它会在没有 .bashrc 环境的情况下加载。
我还尝试使用“使用终端运行”选项,但没有帮助。有没有办法做这些事情?
桌面文件的内容:
[Desktop Entry]
Version=1.0
Type=Application
Name=IntelliJ IDEA
Icon=/home/gmarom/bin/idea-IU-135.1230/bin/idea.png
Exec="/home/gmarom/bin/idea-IU-135.1230/bin/idea.sh" %f
Comment=Develop with pleasure!
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-idea
Run Code Online (Sandbox Code Playgroud) 我在.bashrc文件中设置了几个别名。大多数时候我都需要这些别名,但有时我需要在没有在该特定别名中设置选项的情况下运行这些命令。
如何不执行别名命令?
我对 Linux 不太熟悉,在学习教程后我有以下疑问。
我必须修改bashrc文件。此文件中包含哪些类型的设置?我认为有些东西与 bash shell 环境有关,但我不太确定。
我必须插入这一行:
export PATH=$HOME/.local/bin:$HOME/.local/usr/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
这条线到底是做什么的?
我认为该export语句用于创建一个新变量,使其可用于其他程序。
但是这条线到底是做什么的呢?是PATH我定义的变量的名称吗?什么是$HOME?
前面表达式中和和部分:之间的符号是什么意思?PATH=$HOME/.local/bin$HOME/.local/usr/bin$PATH
这个表达究竟是什么意思?
我想更改 PS1 在 bash 中显示的用户名中特定字母的颜色。
例如:如果我\u是rahul,我希望字母h为蓝色,其余为白色。
我知道,\u是指用户名和添加颜色到整个“实体”是通过添加标签,如完成:[\033[38;5;15m\]。
如果可能的话,我能知道如何做同样的事情吗?
为什么有两个 .bashrcs~/.bashrc和 /etc/skel/.bashrc? 当我比较它们时,我发现没有区别。
例如:安装时pyenv,您需要添加
export PATH="/home/user/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
Run Code Online (Sandbox Code Playgroud)
到您的.bashrc文件。
但是,通常echo '..' >> ~/.bashrc会在追加之前评估语句。如何在不进行评估的情况下使用命令行将此类语句正确附加到文件中?