标签: bashrc

如果我删除用户的 ~/.bashrc 文件怎么办?

我只是好奇如果我删除~/.bashrc用户的文件会发生什么。甚至root用户也有自己的~/.bashrc文件吗?如果我删除它会怎样,或者我可以吗?

bashrc

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

Root 的 .bashrc 未在 sudo -i 上执行

在我的一台 Ubuntu 11.10 服务器上,当我sudo -i成为 root 用户时,root 的 .bashrc 没有被执行。在所有其他服务器上,据我所知,其相关配置是相同的,它正在正确执行。

这是我检查过的:

  • .bashrc 存在于 /root 中,归 root:root 所有,权限 644
  • 的/ etc /简档和/etc/bash.bashrc正在被执行
  • root 的 shell 设置为“/bin/bash”
  • 我可以执行 .bashrc source .bashrc,之后该会话的一切正常。
  • 我也可以bash在 sudoed 到 root 后手动键入执行 bash,然后执行 .bashrc
  • ps 确认我的 root 登录正在运行的 shell 是 bash。

还有什么要检查的吗?

bash sudo 11.10 bashrc

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

初始化新终端外壳时,什么会导致我的 .profile 文件无法加载?

xsession 中没有错误,而且我没有 .bash_login 或 .bash_profile 文件,所以我 100% 确定它们都没有加载,因此取消了 .profile 加载。

当我将 .profile 重命名为 .bash_profile 并打开一个新的终端窗口时,它仍然没有加载。当我通过“. ~/.profile”手动加载文件时,文件中的所有内容(别名和 PATH 导出)都有效,但不会自动加载。

command-line bash .profile user-profile bashrc

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

第一个 '.' 是什么意思?' 中的意思。~/.bashrc'?

我看到一篇关于修复你的别名的帖子.bashrc

他说在你把你的别名放进去后.bashrc,你需要使用:

. ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

我不太明白第一个点(' . ') 在这里做什么。它的功能是什么,叫什么名字?

command-line bash scripts alias bashrc

11
推荐指数
2
解决办法
3014
查看次数

编辑 .bashrc 后出现“意外标记附近的语法错误”

我正在尝试访问剪贴板,但是当我source ~/.bashrc 在终端中输入时出现此错误:

bash: /home/taran/.bashrc: line 2: syntax error near unexpected token ('
bash: /home/taran/.bashrc: line 2:alias pbpaste='xclip -selection 
clipboard -o'# ~/.bashrc: executed by bash(1) for non-login shells
Run Code Online (Sandbox Code Playgroud)

我尝试在Gary Woodfine's answer to Command Line Clipboard Access 中做教程。

的输出cat ~/.bashrc是:

alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
case $- …
Run Code Online (Sandbox Code Playgroud)

command-line bash alias bashrc

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

如何让python shebang使用python3?

我有一个使用 shebang 的第三方脚本#!/usr/bin/env python

根据 python 文档,这是适用于 Python v2 和 Python v3 ( https://docs.python.org/3/using/windows.html#shebang-lines ) 的脚本的正确形式。

我的 Ubuntu (WSL) 只安装了 Python 3:

~? which python
~? which python3
/usr/bin/python3
Run Code Online (Sandbox Code Playgroud)

我已将此添加到路径中,方法是在我的内容中添加以下内容~/.bashrc并获取它

~? which python
~? which python3
/usr/bin/python3
Run Code Online (Sandbox Code Playgroud)
~? . ~/.bashrc
~? env | grep PATH
PATH=/home/me/.local/bin:/home/me/bin:/usr/bin/python3:/opt/gradle/gradle-5.3.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Run Code Online (Sandbox Code Playgroud)

然而,当我运行这个脚本时,它抱怨找不到 Python。我创建了一个简短的测试文件foo,其中包含相同的 shebang 和一个print("Hello")

~? ./foo
/usr/bin/env: ‘python’: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我还能做些什么来env使用python3?

PS:我没有python 2,也不想安装它。第三方脚本的自述文件特别提到支持 Python v2 和 v3,并且根据 Python 文档本身,shebang 指出了这一点,如上所述。

PPS:添加别名并不能解决这个问题,因为它们仅在用户在提示符下调用 …

bash bashrc python3 shebang

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

别名:.bash_rc、.bash_aliases 和 /usr/local/bin 之间的区别

在玩终端时,我注意到有很多方法可以创建永久别名。

我是 Linux 新手,据我所知,正在做:

  1. sudo ln -s /path/to/executable /usr/local/bin/desired_alias
  2. 添加desired_alias = '/path/to/executable'~/.bashrc
  3. 取消注释这些行~/.bashrc

    if [ -f ~/.bash_aliases ]; then
        . ~/.bash_aliases
    fi
    
    Run Code Online (Sandbox Code Playgroud)

    并把desired_alias = '/path/to/executable'~/.bash_aliases

都具有相同的效果。

第一种方法和第二种方法有什么区别?

command-line bash alias bashrc

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

CLI 中的反向搜索:之后弄乱了输出

请参阅下面我的编辑,这并不完全是Shell 提示自定义和 cmd 行为的重复

reverse-search在 CLI 中的功能坏了,我不知道如何修复它......

当我按 ctrl+r 并搜索我之前执行的命令时,找到它然后按向右箭头键使用它,输出已损坏。下面是一个例子:

# I reverse-searched the word "test" then pressed right arrow
yoshiji@x1carbon:~/path/to/git/folder (master) $ch)`test': rake test
#                                              ^^^^^^^^^^ weird output
#                                                     ^ cursor right there
Run Code Online (Sandbox Code Playgroud)

它还将我的光标“移动”到不同的位置。如果我按回车,就会执行正确的命令(rake test在这种情况下),所以这意味着显示的文本与实际执行的不同。

我知道这很可能与我PS1在 my 中的导出有关~/.bashrc,所以这里是这个文件的最后几行:

# Git branch in prompt.
git_branch() {
  branch=$(__git_ps1 2> /dev/null)
  if [ "$branch" = " (master)" ]; then
     echo -e "\033[33m${branch}\033[00m" # yellow
  elif [ "$branch" = "" ]; then
     echo …
Run Code Online (Sandbox Code Playgroud)

command-line bashrc ps1

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

Bash:如何判断终端是否被第三方应用打开

我希望我的 bash 脚本(特别是我的~/.bashrc. 我如何确定是什么情况?有一个变量吗?提前致谢。

bash gnome-terminal bashrc

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

为什么我的 ssh 登录包含看起来像是 TechRepublic 文章的促销信息?

当我 ssh 进入我的 Ubuntu 盒子时,我看到下面的输出。我很惊讶地看到引用和 TechRepublic 文章的链接。

那是广告吗?有谁知道这是从哪里来的?有什么办法可以去掉吗?

谢谢,本

Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-37-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Sun 21 Jun 2020 10:06:54 PM PDT

  System load:  0.05                Processes:                249
  Usage of /:   43.6% of 227.74GB   Users logged in:          0
  Memory usage: 8%                  IPv4 address for enp0s25: <redacted>
  Swap usage:   0%                  IPv4 address for wlp2s0:  <redacted>
  Temperature:  56.0 C

 * "If you've been waiting for the perfect Kubernetes …
Run Code Online (Sandbox Code Playgroud)

ssh login bashrc

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