您是否对默认的 bash 重新配置脚本进行了任何有助于其他人了解的更改?
请注意,/etc/bashrc 会影响所有用户,而用户主目录中的 .bashrc 只会影响该用户。
我写了一个我认为非常有用的函数,我想通过 GitHub 公开它。在我的 PC 上,我有一个.bash_functions文件,我将其输入到我的.bashrc文件中。我知道这是常用的方法(至少对于 bash),但我不知道期望我的用户手动将函数放在那里是否非常用户友好。
所以,我的问题是,是否可能有一些统一的全局位置(etc可能在某个地方),我可以在其中放置我的自定义函数,然后在启动时获取这些函数?这样当用户想要安装这个功能时,他只需要输入make,它就会被放到这个文件夹中?
我正在尝试将系统所有用户的提示值($PS1 变量)更改为相同的值。
我将以下内容存储在文件 /etc/ps1 中:
PS1='`
if [ $? -eq 0 ];
then echo -n "\[\033[00;35m\]\u\[\033[01;32m\]@\[\033[00;35m\]\h\[\033[00;32m\](\[\033[01;35m\]\W\[\033[01;32m\])\[\033[00;32m\]\$";
else echo -n "\[\033[00;35m\]\u\[\033[01;31m\]@\[\033[00;35m\]\h\[\033[01;31m\](\[\033[35m\]\W\[\033[31m\])\[\033[00;31m\]\$";
fi`\[\033[0m\]'
Run Code Online (Sandbox Code Playgroud)
在我的单用户帐户下,我可以将source /etc/ps1它添加到我的 ~/.profile 文件中(有趣的是,当我将它添加到 ~/.bashrc 时它不起作用)。如果我将其添加到 /etc/profile 或 /etc/bashrc.basrch 以使所有用户都发生这种情况,则不会发生任何事情。我正在拔头发试图让它发挥作用。这是在 Debian 7.1.0 (Linux 3.2.46) 上。
我将点文件保存在公共 github 存储库中,其中包括我的 aws 密钥的路径,这似乎是一件等待发生的可怕事情。
所以它是这样的:
function superssh { ssh user@something -i /file/path/to/keys;}
Run Code Online (Sandbox Code Playgroud)
有什么更好的方法可以提高我的安全性?
我正在尝试在 sudo-less 用户中的远程主机上获取我的 .bashrc 文件。我收到以下回复。
sh-4.2$ source .bash_profile
sh-4.2$ source: .bash_profile: file not found
sh-4.2$ source ~/.bash_profile
[user@hera ~]$
Run Code Online (Sandbox Code Playgroud)
为什么会出现这种行为?
.bashrc 的内容
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=
# User specific aliases and functions
# added by Anaconda3 4.1.1 installer
export PATH="/home/tensorflow/anaconda3/bin:$PATH"
Run Code Online (Sandbox Code Playgroud) 在 ubuntu 终端中,直到运行以下命令后,我的 .bashrc 才可用: source ~/.bashrc
我有一个 ~/.bash_profile ,内容如下:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
Run Code Online (Sandbox Code Playgroud)
我有一个 ~/.profile :
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
Run Code Online (Sandbox Code Playgroud)
我应该怎么做才能自动加载我的 .bashrc?我应该合并 .bash_profile 和 .profile 并删除其中之一吗?谢谢
这可能是微不足道的,但我不确定如何安全且最佳地做到这一点。
我有几台服务器(AWS EC2),我通过 bash 进行 ssh 访问。这些服务器名称很长。
我怎样才能给它们起别名,这样我就可以输入类似的内容,而不是输入很长的东西
ssh ubuntu@<alias-name>