标签: bashrc

恢复 /etc/skel 文件

我弄乱了/etc/skel文件并且愚蠢地没有备份它!我需要恢复这个目录下的原始文件!如何在互联网上找到原始文件?

注意:出于安全考虑,仅提供 Linux 官方链接。

提前致谢。

etc bashrc restore skel

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

仅显示命令的主终端窗口

由于某些命令的长文本输出,我经常失去对命令流的跟踪,所以我想要一个主终端窗口,在其中执行用户命令,其他终端窗口“弹出”显示命令的输出,然后是使用捷径关闭。

是否可以对这种行为进行编码?关于我应该使用的语言的任何提示?

如果输出超过用户设置的限制,终端会询问是否应该在外部显示输出,这是一种更加用户友好的交互。

command-line bash gnome-terminal bashrc

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

通过编辑 .bashrc 文件创建永久别名

我使用 vim 编辑了 .bashrc 文件。然后通过命令获取它

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

或者

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

它显示类似

/home/usr/.bashrc:16: command not found: shopt
/home/usr/.bashrc:24: command not found: shopt
/home/usr/.bashrc:108: command not found: shopt
/usr/share/bash-completion/bash_completion:35: parse error near `]]'
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$  
Run Code Online (Sandbox Code Playgroud)

然后我输入 adt (别名)它起作用了。,但是当我关闭终端并再次打开时,它没有用。显示 zsh: command not found: adt** 我该怎么做才能修复它?

bashrc

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

Zsh 像 bash 一样着色

我希望我的 zsh shell 看起来与 bash shell 完全一样(就默认颜色而言),但我的 zsh shell 的文本是纯白色的。我确定了 .bashrc 的这一部分,我认为将绿色添加到user@pc:

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
Run Code Online (Sandbox Code Playgroud)

但是与这些命令不同,将其粘贴到 zshrc 中不起作用:

if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi
Run Code Online (Sandbox Code Playgroud)

我对Linux不太了解,任何帮助将不胜感激!

command-line bash zsh bashrc

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

以 root 身份登录时 ~/.bashrc 不运行

当我以 root 身份登录时:

ubuntu login: root                                                                                  
Password:                                                                                               
Last login: Tue Apr  7 17:31:14 CDT 2020 on ttyS0                                                       
Welcome to Ubuntu 19.04 (GNU/Linux 5.0.0-38-generic x86_64)                                             
Run Code Online (Sandbox Code Playgroud)

我的 /root/.bashrc (因此 /root/.bash_aliases)未运行。这是正常的吗?我怎样才能解决这个问题?

更多信息:

# getent passwd| grep root                                     
root:x:0:0:root:/root:/bin/bash
Run Code Online (Sandbox Code Playgroud)

我的/root/.profile是正常的:

# cat /root/.profile                                           
# ~/.profile: executed by Bourne-compatible login shells.                       

if [ "$BASH" ]; then                                                            
  if [ -f ~/.bashrc ]; then                                                     
    . ~/.bashrc                                                                 
  fi                                                                            
fi                                                                              

mesg n || true                                                                  
Run Code Online (Sandbox Code Playgroud)

$BASH 设置正确:

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

而/root/.bashrc也正常。这是一个片段:

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

root bashrc

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

为什么每次通过 SSH 连接时都需要手动获取 ~/.bashrc ?

我正在使用 ubuntu 18.04 ,并使用 ssh 连接到我实验室的服务器。但是从一周前开始,每次我通过 ssh 打开终端时,我都无法使用conda activate *它说没有命令“conda”。 然后我尝试了很多方法,发现我需要写

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

然后我可以使用 conda 并且一切 正常。 为什么我的终端在重新启动终端时无法自动运行 .bashrc?有谁知道为什么会发生以及如何永久解决它?

我检查了该.bashrc文件,看起来效果很好,我确实有一个.bash_profile文件,但它是空的,我不知道它是否与我的情况有关。而且我没有.bash_login文件。

ssh bash bashrc

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

外壳调整以另外显示当前路径

我正在使用 ubuntu 10.10,现在我进入了 shell:

machine1user@mylinux:~:
Run Code Online (Sandbox Code Playgroud)

我怎样才能把它改成

machine1user@mylinux:/my/current/path :~: ?
Run Code Online (Sandbox Code Playgroud)

command-line bash 10.10 bashrc

0
推荐指数
1
解决办法
1120
查看次数

修改 bashrc 后搞砸了终端

我最终搞砸了我的终端,同时为 Coursera Scala 课程设置了 Sbt。我不能再召唤 gedit(或其他任何东西)了。我收到以下错误:

Command 'gedit' is available in '/usr/bin/gedit'
The command could not be located because '/usr/bin' is not included in the PATH environment variable.
Run Code Online (Sandbox Code Playgroud)

此外,终端的每个新实例在写入任何命令之前都会写入这些消息:

-bash: :/home/antonio/jdk7/jdk1.7.0_07/bin: No such file or directory
-bash: export: `/home/antonio/Desktop/Scala/install/sbt/bin:/home/antonio/jdk7/jdk1.7.0_07/bin': not a valid identifier
Run Code Online (Sandbox Code Playgroud)

我最近手动安装了 jdk 7,它显然有效:

java -version
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)

在设置 Sbt 时,我通过gedit ~/.bashrc在终端上写入而不是写入来编辑 bashrc 的错误gedit .bashrc,我在打开的 bashrc 文件的末尾写了以下几行:

export …
Run Code Online (Sandbox Code Playgroud)

bashrc

0
推荐指数
1
解决办法
1844
查看次数

如何在 bashrc 中设置别名以便使用简单的别名命令可以找到系统 IP?

这个问题可以看出,以下命令给出了系统的 IP 地址。ip route get 8.8.8.8 | awk '{print $NF; exit}'

我想利用这个命令来创建一个别名,这样我就不必每次都输入这么长的命令。所以,我将以下行添加到.bashrc

alias ipconfig="ip route get 8.8.8.8 | awk '{print $NF; exit}'"
Run Code Online (Sandbox Code Playgroud)

但是awk当我将命令与别名一起使用时,我遇到了命令的问题(具体来说,我认为 $NF 变量没有设置。为了更好地理解,我使用命令行和设置别名提供了三个版本的输出。

dennis@dennis-HP:~$ ip route get 8.8.8.8 | awk '{print $NF; exit}'
192.168.0.X 

dennis@dennis-HP:~$ ipconfig
8.8.8.8 via 192.168.0.Y dev wlx9d5d8eae8f64  src 192.168.0.X

dennis@dennis-HP:~$ ip route get 8.8.8.8
8.8.8.8 via 192.168.0.Y dev wlx9d5d8eae8f64  src 192.168.0.X 
    cache 
Run Code Online (Sandbox Code Playgroud)

我怎样才能让它产生相同的输出?

bash alias bashrc ip awk

0
推荐指数
1
解决办法
1030
查看次数

.bashrc 错误 - 命令未找到

我在终端中用 .bashrc 做一些事情,每次打开终端后我就开始收到错误,它一直保持这种情况,直到我这样做Ctrl+C

这正是我每次打开终端时看到的:

?\udcf7\udcca\udcd5\udcfewD\udcba\udcc4\udcf9\udc93\udcc3?%\udcae?l\udcb0l\udcd8~\udcb3?vF-Jwx: command not found

VimCrypt~01!X\udca0oudc8f\udca1\udc85\udcb4\udcf1c\udce8KA\udcad\udcd2\udce6
\udce4*^u\udc84+o\udcf8\udcb8r\udcc5\udcc6WK^?: command not found

O\udcfd\udcc5I\udccbNeC\udc84: command not found

bash: /home/faruksimsekli/.bashrc: line 3: syntax error near unexpected token `)'
bash: /home/faruksimsekli/.bashrc: line 3: `???????????7?V???o5?-1W???]?fHel?CO>z?U??j?-??A??B>??pR??P
                         ??????)??????%???#s,?(5~L??fo:(??re???a?
                                                                      0C+????[ML??r?d'

faruksimsekli@7:~$ \udca9\udcb4\udce1x\udca4\udc9d\udc92svcl\udc85v\udc85\udccbc\udcb6u\udc8d\udcf1\udcc4: command not found
Run Code Online (Sandbox Code Playgroud)

command-line bash bashrc

0
推荐指数
1
解决办法
3045
查看次数

如何将代码添加到.bashrc而不引起错误?

我正在学习如何将我的 NIC 传递到我的 KVM。

指南说将以下代码添加到文件 ~/.bashrc

#!/bin/bash
# change the 999 if needed
shopt -s nullglob
for d in /sys/kernel/iommu_groups/{0..999}/devices/*; do
    n=${d#*/iommu_groups/*}; n=${n%%/*}
    printf 'IOMMU Group %s ' "$n"
    lspci -nns "${d##*/}"
done;
Run Code Online (Sandbox Code Playgroud)

我不清楚代码应该插入哪里,所以它在第1-8行。

  1 #!/bin/bash
  2 # change the 999 if needed
  3 shopt -s nullglob
  4 for d in /sys/kernel/iommu_groups/{0..999}/devices/*; do
  5         n=${d#*/iommu_groups/*}; n=${n%%/*}
  6         printf 'IOMMU Group %s ' "$n"
  7         lspci -nns "${d##*/}"
  8 done;
  9 
 10 # ~/.bashrc: executed by bash(1) for non-login …
Run Code Online (Sandbox Code Playgroud)

command-line networking bashrc 20.04 kvm-virtualization

0
推荐指数
1
解决办法
133
查看次数

不小心更改了 PATH 变量,我无法将其更改回来,或者使用 vim 等..help

我知道有很多这样的问题,但不幸的是我对 Ubuntu 的了解不够,无法将其应用于我的情况。我将所有内容保存在远程计算机上,通过 ssh 访问。我试图用我在那里的 conda 环境进行更改,并更改了 .bashrc 文件中的某些内容,现在我无法使用 vim 或 ls - 没有文本编辑器或命令似乎可以工作。

echo $PATH 返回: /home/percyrou/bin:/home/percyrou/bin:/home/user/bin:~/ghf_env/bin/

据我记得,在我不小心更改了 .bashrc 文件之前,路径就像这样:/home/user/bin:

我认为所有这些额外的部分都被添加了,因为我试图用以下方法更改它:

echo 'export PATH="/home/percyrou/bin:$PATH"' >> ~/.bashrc(或者只是使用 user 而不是 percyrou,因为我不确定它是什么),并且似乎将其添加到 PATH 而不是替换它。我已经跑了source ~/.bashrc

我还尝试使用scp将 .bashrc 文件下载到本地计算机并在那里进行编辑,但这也会返回bash: scp: command not found,我猜是因为scp它也包含在我的 .bashrc 文件中。

请帮忙!我不知道如何从这里继续访问我的路径变量。:(

command-line bash paths environment-variables bashrc

-1
推荐指数
1
解决办法
290
查看次数