标签: bashrc

.bashrc 从不同文件加载别名

我有一个 .bashrc 文件,我想设置它以便它从 .aliases 文件读取别名并设置它们。

目前我有:

# User specific aliases and functions
while read alias_line
do
        echo `alias ${alias_line}`
done < .aliases
Run Code Online (Sandbox Code Playgroud)

但是登录后我得到:

-bash:别名:-fu:未找到 -bash:别名:$USER”:未找到

-bash:别名:-lart”:未找到

.aliases 文件是这样的:

psu="ps -fu $USER" ll="ls -lart"
pico='nano'

bash alias bashrc

12
推荐指数
1
解决办法
1万
查看次数

如何坚持bash历史?

我不知道这是否符合预期,但我的历史记录不会跨会话保存。这就是说,如果我关闭窗口,那么当我再次打开它时,历史记录是空的。我怎样才能跨会话坚持它?

以下是您询问的命令的输出:

 set -o | grep history
history         on

$ grep -i history ~/.bashrc ~/.bash_profile ~/etc/bash.bashrc ~/etc/profile ~/.profile
/cygdrive/c/cygwin/home/car/.bashrc:# Make bash append rather than overwrite the history on disk
/cygdrive/c/cygwin/home/car/.bashrc:# History Options
/cygdrive/c/cygwin/home/car/.bashrc:# Don't put duplicate lines in the history.
/cygdrive/c/cygwin/home/car/.bashrc:# export PROMPT_COMMAND="history -a"
grep: /cygdrive/c/cygwin/home/car/etc/bash.bashrc: No such file or directory
grep: /cygdrive/c/cygwin/home/car/etc/profile: No such file or directory
/cygdrive/c/cygwin/home/car/.profile:if [ "x$HISTFILE" == "x/.bash_history" ]; then
/cygdrive/c/cygwin/home/car/.profile:  HISTFILE=$HOME/.bash_history

$ ls -la ~/ | grep history -> no output

$ echo $HISTFILE …
Run Code Online (Sandbox Code Playgroud)

linux cygwin bash command-line bashrc

12
推荐指数
2
解决办法
8628
查看次数

异步运行 .bashrc 的一部分

我有一些导出和其他需要运行另一个程序的东西(以获取路径或其他任何东西),并且它们需要很长的时间来运行,这意味着我的 bash 启动时间大约为 5 秒。

在我开始添加一些基本缓存之前.bashrc,有没有一种方法可以异步运行一些东西,让我在运行的 shell 中导出变量?

(所以,这真的不仅限于.bashrc,而是一般的 bash。)

performance bash bashrc

10
推荐指数
1
解决办法
1649
查看次数

bashrc:如何知道 X 窗口是否可用?

my 中有一个部分~/.bashrc,它将 $EDITOR 设置为 gvim。当我在 X 窗口时它工作正常。但是,如果我 ssh 到我的工作站(从另一个工作站),gvim 开始抱怨“无法打开显示”。

因此我想if在 bashrc 中声明,如果 X 窗口可用,则使用 gvim,否则就使用 vim。

我怎么能做到这一点?

bash xorg vim gvim bashrc

10
推荐指数
2
解决办法
5942
查看次数

找出 $PATH 的定义位置

我最近安装了一个 Arch-Linux 系统。如果我输入

echo $PATH
Run Code Online (Sandbox Code Playgroud)

它(除其他外)指向我内部的一个目录,我/home/user/dir记得我在某处设置过。我也有它作为 root 用户,所以它不能~/.bashrc/root/.bashrc. 我也在里面看了看/etc/profile/etc/bash.bashrc但在那里也找不到。

有没有办法找到它的设置位置?

path arch-linux find bashrc

10
推荐指数
1
解决办法
1万
查看次数

Cygwin .bashrc 不是源,因为 cygwin 从 Windows 主页开始

注意:请参阅下面我的第二次编辑以获取有关该问题的更新。

直到上周,Cygwin 对我来说都很好。现在 .bashrc 没有得到来源。我一定安装了一些东西或改变了一些东西,但我不记得到底是什么导致了这个问题。当我启动 Cygwin 时,我在我的 Windows 家中并且我的别名都不起作用。我必须手动获取 .bashrc。以下是我的 Cygwin.bat:

@echo off

C:
chdir C:\cygwin\bin

set CYGWIN=tty notitle glob

bash --login -i
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

编辑:我的 .bash_profile 包含以下内容,

# source the users bashrc if it exists
if [ -f "${HOME}/.bashrc" ] ; then
  source "${HOME}/.bashrc"
fi
Run Code Online (Sandbox Code Playgroud)

EDIT2:重要!当我启动 Cygwin 时,它会在我的 Windows 主文件夹中启动。我试着把我的 .bash_profile 和 .bashrc 放在这个文件夹中,它们的来源是正确的!这意味着问题已简化为弄清楚为什么 Cygwin 在 Windows 主文件夹中启动,而不是在正常的 Cygwin 主文件夹中启动。

EDIT3: 运行 grep Gulshan /etc/passwd/ 的结果

$ grep Gulshan /etc/passwd
Administrator:unused:500:513:U-Gulshan-HP\Administrator,S-1-5-21-1235613160-4193452482-2032876723-500:/home/Administrator:/bin/bash
Guest:unused:501:513:U-Gulshan-HP\Guest,S-1-5-21-1235613160-4193452482-2032876723-501:/home/Guest:/bin/bash
Gulshan:unused:1000:513:U-Gulshan-HP\Gulshan,S-1-5-21-1235613160-4193452482-2032876723-1000:/home/Gulshan:/bin/bash
Run Code Online (Sandbox Code Playgroud)

cygwin bash bashrc

9
推荐指数
1
解决办法
1万
查看次数

如何对 bashrc / zshrc 进行基准测试并提示渲染时间?

由于我目前在我的提示中尝试新东西,我需要一种方法来判断性能影响是什么。

我如何监控呈现提示所需的时间以及获取 .*rc 所需的时间?

cygwin bash zsh shell bashrc

9
推荐指数
1
解决办法
2449
查看次数

将 git branch 添加到雪豹的 bash 提示

我正在使用这个:

$(__git_ps1 '(%s)')
Run Code Online (Sandbox Code Playgroud)

它可以工作,但是当我更改目录或签出新分支时它不会更新。我也有这个别名:

alias reload='. ~/.bash_profile'
Run Code Online (Sandbox Code Playgroud)

示例运行:

user@machine:~/dev/rails$cd git_folder/
user@machine:~/dev/rails/git_folder$reload
user@machine:~/dev/rails/git_folder(test)$git checkout master
Switched to branch 'master'
user@machine:~/dev/rails/git_folder(test)$reload
user@machine:~/dev/rails/git_folder(master)$
Run Code Online (Sandbox Code Playgroud)

如您所见,它设置正确,但前提是我重新加载 bash_profile。我在这上面浪费了很多时间。我在雪豹上使用 bash。请帮忙!

编辑:您可以在 github 上看到我的 dotfiles 以及在此处设置 PS1 的文件

bash git osx-snow-leopard bashrc macos

8
推荐指数
1
解决办法
1893
查看次数

如何永久设置我的 bashrc 更改?

每次登录 SSH 时,我都必须手动获取 bashrc 文件的来源,以按照我想要的方式设置路径变量。我如何让 bash 自动执行?不应该是自动的吗?

bash path bashrc

8
推荐指数
1
解决办法
9861
查看次数

.bashrc 是否包含语法错误?

在 Ubuntu 18.04 LT .bashrc 文件中有以下内容:

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color) color_prompt=yes;;
esac
Run Code Online (Sandbox Code Playgroud)

xterm-color) 不是不平衡括号的实例吗?为什么该行以两个分号结尾?

需要说明的是,这不是我写的。它在原始文件中,不是我编辑的。

如果有语法错误,我应该向谁报告?

linux bash bashrc ubuntu

8
推荐指数
1
解决办法
1803
查看次数

标签 统计

bashrc ×10

bash ×9

cygwin ×3

linux ×2

path ×2

alias ×1

arch-linux ×1

command-line ×1

find ×1

git ×1

gvim ×1

macos ×1

osx-snow-leopard ×1

performance ×1

shell ×1

ubuntu ×1

vim ×1

xorg ×1

zsh ×1