标签: bashrc

设置别名时出现问题,找不到 ~/.bash_aliases 文件

我试图设置一个永久别名。但~/.bash_aliases在我的系统上找不到文件。我检查了该bashrc文件,它显示bash_aliases已启用。我尝试在主目录中创建一个同名的新文件并放置别名。但它也不起作用。有什么解决方案可以设置永久别名吗?

另外我想知道是否可以为我创建的 shell 设置一个别名,并且它驻留在其他路径中。提前致谢。

command-line bash alias bashrc

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

.bashrc 和 .bash_profile 不是用 adduser 创建的,而是用 useradd 创建的

我正在 Ubuntu 18.04 服务器中添加一个名为“test”的用户。当我使用 添加用户时adduser,如下所示:

sudo adduser --system --group test --shell /bin/bash
Run Code Online (Sandbox Code Playgroud)

一切顺利,我可以正常登录,但 .bashrc、.bash_logout 和 .bash_profile 不是默认在主目录中创建的。useradd而当我使用如下方式添加用户时:

sudo useradd -m test -s /bin/bash
Run Code Online (Sandbox Code Playgroud)

添加用户的方式与adduser我在主目录中预配置的 .bash_profile、.bashrc 和 .bash_logout 相同。

有人可以解释为什么会有差异吗?adduser我在使用中缺少任何标志吗?

command-line users adduser bashrc useradd

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

在 WSL 中安全地编辑 .bashrc

如何.bashrc安全地在 Windows Subsystem for Linux 中编辑文件?

本文警告不要AppData使用 Windows 工具编辑存储在 WSL文件夹中的文件。

但是,您如何.bashrc以安全的方式编辑文件?

bash bashrc windows-subsystem-for-linux

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

要转义哪个字符才能在 ~/.bashrc 中工作

我想将此iostat命令添加到我的.bashrc并为其创建别名:

iostat -xk 2 $(findmnt -T ~ | awk 'END {print $2}')
Run Code Online (Sandbox Code Playgroud)

我将此添加到我的.bashrc:

alias ios='iostat -xk 2 $(findmnt -T ~ | awk 'END {print $2}')'
Run Code Online (Sandbox Code Playgroud)

不幸的是,它不起作用。

如果我iostat在终端中运行上面的命令它可以工作,但是当我运行ios别名时它不再工作。

是的,我每次都重新启动我的外壳。

command-line bash bashrc

3
推荐指数
2
解决办法
788
查看次数

“没有这样的文件或目录”如何添加到我的 PATH 变量中?

今天我注意到我的路径 No such file or directory末尾有一个条目,这导致了其他问题。

我的路径如下所示:/home/geneorama/gems/bin:/home/geneorama/anaconda3/bin:/home/geneorama/.local/bin:/home/geneorama/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin: No such file or directory

我不知道添加了什么,并且想知道如何解决它。

我检查了一下.bashrc,没有发现任何问题。按预期添加.bashrc了 anaconda 和 Ruby。

基于这个关于如何设置 PATH 的好答案~/.profile,我检查了我的文件。配置文件脚本仅运行 .bashrc,并将$HOME/bin和添加$HOME/.local/bin到路径中。这些路径仅在存在时才会添加,而且它们确实存在。

我读了我能理解的内容man login。这让我检查了一下/etc/login.defs,但这看起来很普通。我没有登录帮助中提到的任何其他文件。

有什么想法如何解决发生这种情况的问题吗?

编辑:2021 年 1 月 11 日

根据评论,我编辑了问题以表示我已经检查过~.profile。

我还制作了一个非常简单的版本~.bashrc,重新启动,并使用调试命令运行 bash。仍然已PATH损坏。

geneorama@computer:~$ bash -x ~/.bashrc
+ HISTCONTROL=ignoreboth
+ shopt -s histappend
+ HISTSIZE=9999999
+ HISTFILESIZE=999999999
+ shopt -s checkwinsize
geneorama@computer:~$ $PATH
bash: /home/geneorama/.local/bin:/home/geneorama/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin: No such …
Run Code Online (Sandbox Code Playgroud)

command-line login environment-variables bashrc

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

无法从 .bashrc 调用定义的函数

我有一个这样的函数.bashrc:

function gs () {
  cmm="$1"
  if test -z "$cmm"
  then
    cmm="This is Manh Cuong's commit ."
  fi
  
  git add . && git commit -m "$cmm" && git push
}
Run Code Online (Sandbox Code Playgroud)

gs它与终端中的命令配合良好gs "new commit"。但我刚刚在我的 Ubuntu 20.04 Asus 笔记本电脑上安装了zsh,oh-my-zsh 。然后我打电话gs或gs "new commit",它不再起作用了。我不知道如何解决它。有人可以帮助我吗。非常感谢。

command-line zsh bashrc

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

将 .bashrc 文件从一台计算机替换到另一台计算机的风险

我有 2 台运行 Ubuntu 20.04.3LTS 的 Asus Zenbook 笔记本电脑(我现在的笔记本电脑和我保留的旧笔记本电脑作为紧急备份系统,因为我不能没有笔记本电脑)。我很少使用旧的,但我每 3-4 周运行sudo ap-get update一次。sudo apt-get upgrade

\n

当我几天前上次打开它时,打开终端时出现错误:

\n
bash: /home/will/.bashrc: line 100: unexpected EOF while looking for \nmatching `)'\nbash: /home/will/.bashrc: line 121: syntax error: unexpected end of file  \n
Run Code Online (Sandbox Code Playgroud)\n

...虽然它似乎对我在终端中尝试做的所有事情都工作得很好。

\n

通常情况下,错误中提到的行中没有任何明显的原因 - 我快速浏览了一下,找不到我在文件中其他任何地方更改的任何可能导致错误的内容。虽然我最终可能会找到它,但替换文件可能更容易。

\n

我的问题是 - 由于我有第二台类似的笔记本电脑运行相同版本的 Ubuntu,是否有任何理由不从较新的笔记本电脑复制功能正常的 .bashrc 来替换旧笔记本电脑上损坏的笔记本电脑?我大概可以替换为来自实时 USB 的原始版本(该网站上有一些帖子间接暗示这是可能的),但我突然想到我创建的一些别名(因此在我的 .bashrc 中)较新的笔记本电脑)在旧笔记本电脑上会很有用。

\n

如果可能的话,请说明您是否知道在任何情况下这不是一个好主意。不同版本的 Ubuntu 之间可能不合理吗?这与我的情况无关,但是(出于兴趣)我认为如果硬件非常不同(例如笔记本电脑与台式机)也没关系?

\n

编辑:回应评论:它是一个独立的文件。我(故意)所做的唯一修改是添加一些别名(将加密分区上的数据与外部键盘加密驱动器同步)。我\xe2\x80\x99ve显然已经查看了别名来检查我没有\xe2\x80\x99t犯了一个简单的错误,但是\xe2\x80\x99t找不到任何明显的东西。

\n

configuration command-line bash bashrc

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

如何使用 .bashrc 登录延迟后运行命令

我试图在 20 秒后运行命令行,.bashrc所以我正在这样做

sleep 20 && cp text1.txt text2.txt
Run Code Online (Sandbox Code Playgroud)

但系统不会启动,直到20秒过去,然后才会启动。系统是否可以启动并在 20 秒后执行命令脚本?

command-line bashrc

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

用于删除 docker 映像的 Bash 别名不使用强制标志

目前我有一个别名来强制删除图像,命令如下:

docker rmi $(docker images | grep pattern | grep -v other_pattern | tr -s ' ' | cut -d ' ' -f 3) -f
Run Code Online (Sandbox Code Playgroud)

在我的里面~/.bashrc看起来像:

rm_images="docker rmi $(docker images | grep pattern | grep -v other_pattern | tr -s ' ' | cut -d ' ' -f 3) -f"
Run Code Online (Sandbox Code Playgroud)

然而,当执行时我得到以下信息:

Error response from daemon: conflict: unable to delete <image_id> (must be forced) - image is referenced in multiple repositories
Run Code Online (Sandbox Code Playgroud)

bash bashrc docker

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

通过 .bashrc 执行超级用户命令

是否可以在 .bashrc 中执行超级用户命令?如果是这样,如何?

这将使我不必在每次启动时执行“sudo /opt/lampp/lampp start”。我已经考虑使用存储库中的 LAMP 堆栈,但它并不能真正满足我的需求(我需要能够移动整个 LAMP 堆栈文件夹)。

提前致谢。

lamp bash sudo bashrc

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