标签: bashrc

为什么我的 .bashrc 在 cygwin 下无法读取?

我的 .bashrc 看起来像这样:

alias name@server="ssh server sname"
echo "bashrc read"
Run Code Online (Sandbox Code Playgroud)

echo语句仅用于检查是否已读取。但回声什么也不做。我想为一个更快的 ssh 设置一个别名到一个执行某个命令的盒子中,该命令是远程盒子上的一个工作别名。

bash cygwin bashrc

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

从 PATH 变量中删除重复条目

我经常修改我的 .bashrc 然后获取它。但是,当export PATH="~/bin:~/perl5/bin:$PATH"我的文件中有类似内容 时,PATH每次获取文件时环境变量都会增加。

例如,第一次获取 .bashrc 时,PATH变量由.bashrc组成~/bin:~/perl5/bin:/usr/bin:/bin

第二次它由~/bin:~/perl5/bin:~/bin:~/perl5/bin:/usr/bin:/bin.

第三次它由~/bin:~/perl5/bin:~/bin:~/perl5/bin:~/bin:~/perl5/bin:/usr/bin:/bin.

有没有一种简单的方法可以让它只添加任何不在 PATH 中的东西?

shell bash bashrc path

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

如何使用“tput”命令设置终端的标题?

我通过这个答案发现,多年来我一直在以一种幼稚的方式在提示中设置终端颜色。

我现在已经修改了我的 .bashrc 以使用 'tput' 命令来为我的提示的各种元素着色。我剩下的一个转义码是这样的:

TITLEBAR="\[\033]2; PROD - \u@\h:\w \007\]"
Run Code Online (Sandbox Code Playgroud)

有谁知道是否有一个 tput/terminfo 属性可以用来设置终端窗口的标题栏,以便我可以消除这种转义?

shell bash terminal bashrc terminfo

9
推荐指数
2
解决办法
4494
查看次数

如何重置默认 .bashrc (debian wheezy)?

我搞砸了我的 .bashrc 文件。如何进入最初使用我的主目录创建的默认目录?

debian bashrc

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

如何恢复默认的 bashrc?

我不小心覆盖了.bashrc。我做了以下

echo 'export EDITOR=/usr/bin/nano' >> /etc/bashrc

Bur 我不小心输入>>>. 我想,这是一个坏主意。

我仍然可以使用此技巧登录(Ctrl+C在 .bashrc 完全执行之前命中)。但是如何将其恢复为默认值.bashrc

我正在运行 CentOS 6.5 x86_64。如果默认的 bashrc 文件在发行版的某个地方,我找不到它。

bash bashrc

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

.bashrc 或 .bash_profile 用于 ssh-agent?

.bashrc.bash_profile哪个配置文件是 ssh-agent 的合适位置?我正在寻找一个答案来解释交互式 shell 和登录 shell 之间的区别。

ssh bash bashrc

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

bash 选项卡完成仅适用于 root

我设置了一个 Ubuntu 12 服务器(在机架空间云上使用他们的预配置映像)并创建了一个非 root 用户。当我以标准用户身份登录时,在终端上按 [TAB] 会输出一个实际的选项卡,然后按 [UP] 会输出 ^[[A 。但是,如果我以 root 身份登录,[UP] 会输入我的最后一个命令,并且 [TAB] 会自动完成。

.bashrc 文件在两个用户之间看起来完全相同。我真的不知道还能去哪里看。

ubuntu bash command-line-interface bashrc ubuntu-12.04

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

CentOS 7 上的 bash PATH 从哪里获得 /usr/local/bin ?

我刚刚使用 centos/7 框使用 Vagrant 启动了一个全新的 CentOS 7 VM(bash 版本 4.2.46),当我以 vagrant 用户身份登录时,这是我的路径:

/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/vagrant/.local/bin:/home/vagrant/bin
Run Code Online (Sandbox Code Playgroud)

以 root 身份登录时,这是 PATH:

/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
Run Code Online (Sandbox Code Playgroud)

我知道这/etc/profile是添加/usr/local/sbin:/usr/sbin(大多数用户在最后,root 用户在开始时),/etc/skel/.bash_profile最终在 vagrant 主目录中的正在添加/home/vagrant/.local/bin:/home/vagrant/bin,但是初始设置来自哪里?

目前我没有解释为什么用户最终会/usr/local/bin:/usr/bin在他们的 PATH 中,而 root 得到其他人。

(坦率地说,根路径的顺序似乎很奇怪,因为/usr/local/sbin/usr/sbin应在结束时,根据/etc/profile。)

bash bashrc centos7

8
推荐指数
4
解决办法
2万
查看次数

crontab 环境

我编写了各种脚本来启动 Java 服务器应用程序,这些应用程序通常在关闭之前运行 24 小时(通过使用不同的参数调用相同的脚本)。

该脚本依赖于文件中定义的环境变量:~/<user>.env,我从.bashrc.

这在从命令行调用脚本时工作正常,但如果我想将脚本添加为 crontab 条目,我会遇到.bashrc无法读取的问题。

我的问题:解决这个问题的最佳实践方法是什么?我意识到我可以定义一个 crontab 条目,例如:

* * * * 1-5 /usr/bin/bash -c '. /home/myuser/myuser.env && /home/myuser/scripts/myscript.sh'
Run Code Online (Sandbox Code Playgroud)

......但这看起来很丑陋。或者,我可以myuser.env在每个脚本的开头获取源,但这将成为维护的噩梦。

任何帮助表示赞赏。

solaris bash bashrc cron

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

/bin/bash shell 中未加载 bashrc

当我通过 ssh 进入服务器 (4.3.3-2-ARCH) 时,我的 .bashrc 没有加载(但是,我可以通过采购它来手动加载它)。

我的主文件夹中没有任何其他文件,例如 .profile。外壳也正确

$ echo $SHELL
/bin/bash
Run Code Online (Sandbox Code Playgroud)

当我使用 登录时ssh -t myserver /bin/bash,我的 .bashrc 已正确加载。

在 SSH 详细模式下,我确实看到 /etc/bash.bashrc 和 ~/.bashrc 是使用最后一个命令加载的。使用默认的 ssh 命令时,它们都没有被加载...

使用默认 ssh 命令时,我应该配置什么来加载 .bashrc(和 /etc/bash.bashrc)?

ssh bashrc arch-linux

7
推荐指数
1
解决办法
7833
查看次数