我注意到在我的主文件夹中有多个 .bashrc.save 文件。系统为什么要保存它们?这是正常的还是我必须禁用某些东西?
具体来说我有
.bashrc
.bashrc.保存
.bashrc.save1
.bashrc.save2
.bashrc.save3
.bashrc.save4
.bashrc.save5
我正在配置我的 gnome-terminal 和 xterm 列(我还没有选择我将使用其中的哪一个),我有几个问题要解决:
(我已经用 PS1 设置了一个自定义的 bash 提示,以防万一)
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 7.1 (wheezy)
Release: 7.1
Codename: wheezy
$ echo $TERM
xterm
$ stty -a
[peter@mine ~] $ stty -a
speed 38400 baud; rows 52; columns 126; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?; swtch = M-^?; …Run Code Online (Sandbox Code Playgroud) 我将我的环境设置为.profile. 我的.profile是幂等的,,,.bash_profile所有的源码。这样,无论我使用哪种 bourne 兼容 shell,也无论 shell 是交互式 shell 还是登录 shell,我总是获得相同的环境。.bashrc.kshrc.zshrc.profile
这也适用于非交互式ssh(1)使用,尽管我不确定到底为什么。
iridium:aram$ ssh sunos.mgk.ro 'env|grep ^PATH'
PATH=.:/home/aram/bin:/home/aram/bin/sunos:/home/aram/bin/sunos/amd64:/home/aram/bin/sunos/386:/home/aram/go/bin:/opt/local/bin:/opt/local/sbin:/usr/gnu/bin:/usr/bin:/sbin:/usr/sbin:/usr/sfw/bin:/usr/local/bin:/usr/local/sbin:/home/aram/plan9/bin
iridium:aram$ ssh iridium 'env|grep ^PATH'
PATH=.:/Users/aram/bin:/Users/aram/bin/darwin:/Users/aram/bin/darwin/amd64:/Users/aram/bin/darwin/386:/Users/aram/go/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/pkg/bin:/usr/pkg/sbin:/usr/local/plan9/bin
iridium:aram$ ssh crimson 'env|grep ^PATH'
PATH=.:/home/aram/bin:/home/aram/bin/linux:/home/aram/bin/linux/amd64:/home/aram/bin/linux/386:/bin:/usr/bin:/sbin:/usr/sbin:/usr/games:/usr/local/bin:/usr/local/sbin
Run Code Online (Sandbox Code Playgroud)
然而,在少数系统上,这不起作用。
iridium:aram$ ssh ci20 'env|grep ^PATH'
PATH=/usr/bin:/bin
Run Code Online (Sandbox Code Playgroud)
我一直在努力使这项工作成功,但没有成功。我努力了:
这些没有任何效果,无论 PAM 设置如何,似乎 /etc/environment 都根本不会被读取。
请不要建议我应该强制 bash 在 ssh 调用中进行交互,或者我应该在 ssh 调用中手动获取环境,我正在尝试解决这里的根本问题。
在尝试调试这个问题时,我学到了一些关于 bash 的知识。如果标准输入是套接字,那么 bash 似乎总是会获取 …
我需要实现一些配置 - 如果我的系统上有人bash以任何形式(交互式、非交互式和bash -c表单)调用命令,我需要执行一些代码。例如,这是我想添加到每个 bash 调用的命令:
touch /tmp/$RANDOM
我添加了该行/bash/bash.bashrc,它适用于登录外壳和外壳,通过调用bash命令初始化。
但这不适用于像这样初始化的 bash 会话:
bash -c 'echo 1' - 不会创建新文件
从技术文档我明白,bash.bashrc并bash_profile呼吁仅用于登录或交互式shell。有没有办法为非交互式 shell 创建一些类似的调用?
我的所有 Python 模块源都在文件夹中/src/*:
/src/module1
/src/module2
...
/src/modules100
Run Code Online (Sandbox Code Playgroud)
如果我想将所有这些模块添加到 my 中PYTHONPATH,我需要.bashrc使用export命令将它们单独添加到 my 中。是否可以通过一条命令添加它们?(基本上将/src/*文件夹下的所有内容添加到我的 PYTHONPATH 中)
在 Ubuntu 10.04 终端中,当我遍历一些长目录结构时,整个路径都会显示出来,这会导致终端上的大量空间浪费,光标移到右侧。它引起了很多刺激。任何只显示基本目录的方法。
目前 -
ops@ops:/media/Main320/final_code/code/office/c/practice/parsers/proj1$
需要 -
ops@ops:~/proj1$
我确定这是一些配置更改或一些配置文件首选项更改。任何人...
有一个错字会导致登录时出现错误消息(有人输入lias而不是alias)。我已经检查/etc/bashrc以及~/.bashrc和/etc/profile以及~/.bash_profile为个人用户,但这些文件包含了系统的自定义的别名。哪些备用文件可以包含系统范围的别名?
在通过 SSH 连接到 Ubuntu 12.04 服务器实例时,我一直在获取我的 .profile 的来源问题。我的 .bashrc 最后执行以下操作:
if [[ "$TERM" != "screen-256color" ]]
then
tmux attach-session -t "$USER" || tmux new-session -s "$USER"
exit
fi
Run Code Online (Sandbox Code Playgroud)
如果我注释掉该代码块并再次使用 ssh 登录,则 ~/.profile 文件将按预期来源。~ 下没有 .bash_profile 或 .bash_login 这会阻止 ~/.profile 被读取。将 .profile 重命名为 .bash_profile 作为实验也没有得到文件来源。
有没有人猜测为什么会发生这种情况?我可以把所有东西都塞进 .bashrc,但我很想知道为什么 .profile 没有被采购。
我可以通过按在 Chrome OS 中的应用程序之间切换alt-N,其中 N 是我的应用程序在状态栏上的位置。有用!
但是当我在我的 Nitrous.io 盒子的 bash shell 中时,按下alt-N以跳转到不同的应用程序会给 bash 一个命令:(arg: N).
该(arg: N)命令在 bash 中做什么?五分钟的搜索教会了我很多热键,但没有alt + 数字键。
我可以禁用它吗?
该bashrc不是我写的,和来源有很多不同的配置文件。采购它后,我不能再用Ctrl+退出 bash D。
我发现了这个关于 zsh 的相关问题,我想知道用于对 bash 执行相同操作的机制。
在登录 shell 中键入Ctrl+D时,我得到:
使用“注销”离开外壳。
在非登录 shell 中时,
使用“exit”离开外壳。
由于这些消息根据使用的语言环境进行翻译,因此这可能不是系统脚本。如果可能,我想独立控制两者(例如,为非登录 shell 禁用此功能)。那可能吗?