标签: bash

当我 'cd' 时,如何在 bash 中关闭“自动回声”?

我不知道这是什么时候开始发生的,但是现在,每次我 cd 到目录时,它都会在更改目录之前回显路径。当我登录服务器时会发生这种情况,但不会在我的本地计算机上发生。服务器正在运行 Linux。我的本地机器运行的是 Mac OS X。

我搜索了 Google 并查看了 bash 手册页,但找不到任何内容。我的 .bashrc/.bash_profile 没有任何与 'cd' 相关的东西(我知道)。

如何修改此“功能”?

bash

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

将 git branch 添加到雪豹的 bash 提示

我正在使用这个:

$(__git_ps1 '(%s)')
Run Code Online (Sandbox Code Playgroud)

它可以工作,但是当我更改目录或签出新分支时它不会更新。我也有这个别名:

alias reload='. ~/.bash_profile'
Run Code Online (Sandbox Code Playgroud)

示例运行:

user@machine:~/dev/rails$cd git_folder/
user@machine:~/dev/rails/git_folder$reload
user@machine:~/dev/rails/git_folder(test)$git checkout master
Switched to branch 'master'
user@machine:~/dev/rails/git_folder(test)$reload
user@machine:~/dev/rails/git_folder(master)$
Run Code Online (Sandbox Code Playgroud)

如您所见,它设置正确,但前提是我重新加载 bash_profile。我在这上面浪费了很多时间。我在雪豹上使用 bash。请帮忙!

编辑:您可以在 github 上看到我的 dotfiles 以及在此处设置 PS1 的文件

bash git osx-snow-leopard bashrc macos

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

运行 `rm -rf` 时,是否可以排除某些子目录?

我经常使用绑定挂载来帮助在多个位置提供可用空间,而不必拥有多个逻辑卷/物理分区/LUN 等。

例如,我可能有一个 200G LV 安装在/space. 从那里,我将创建子目录 like var_optand var_log,然后我可以将 mount分别绑定到/var/opt/var/log

在“空间”目录上进行清理时,是否可以从正在运行的内部排除目录?rm -rf/space

例子:

# pwd
/space
# rm -rf * {except-for-var_opt-and-var_log}
Run Code Online (Sandbox Code Playgroud)

是否有不同或更好(但同样简单)的方法来完成我没有想到的我正在尝试做的事情?

mount bash exclude recursion disk-cleanup

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

如何告诉 bash 不要扩展别名

我知道有一个简单的语法可以告诉 bash 不要扩展别名。然而,谷歌并没有打开它,我懒得通读 man bash。另外,答案应该在这个网站上。

bash alias

8
推荐指数
2
解决办法
5042
查看次数

在程序终止后保持 GNU 屏幕窗口打开?

GNU Screen 手册说:

当程序终止时,screen(默认情况下)会杀死包含它的窗口。

(per default)建议你可以改变这个选项,从而使程序终止不会杀窗口它在如何改变我这种行为?

bash gnu-screen

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

给所有文件一个 .jpg 扩展名

我有一个目录,其中一些文件的扩展名是大写 (.JPG) 而不是小写。

我想确保每个文件的扩展名都是 .jpg。我将如何从 shell 提示符执行此操作?

linux bash

8
推荐指数
3
解决办法
813
查看次数

如果我无权访问 chsh 或 /etc/passwd,如何将默认 shell 更改为 bash?

我正在使用大学远程 Linux 帐户,遗憾的是默认 shellcsh没有选项卡完成。如何将我帐户的默认 shell 更改为bashchsh不可用。

linux bash sh

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

解释 rm 的 -W 标志

这个-W标志有rm什么作用(在 BSD 或 Mac OS X 上)?

根据其手册页,该标志试图“取消删除命名文件”。而目前,“这个选项只能用于恢复被whiteouts覆盖的文件。” 这到底是怎么回事,我该如何使用它?

bash shell rm

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

为什么在空字符串上使用 -d 检查文件夹是否存在会返回 true?

我正在写一些脚本并写了一些类似的东西

ARTIFACTS="/SOME/PATH"
[ -d $ARTIFCATS ] && rm -rf $ARTIFACTS/*
Run Code Online (Sandbox Code Playgroud)

发生的事情是出于愚蠢,我没有执行第一行就执行了第二行。原来 [ -d "" ] 返回真,表达式变成了

rm -rf /*
Run Code Online (Sandbox Code Playgroud)

幸运的是它只是一台测试机,我不是sudo,但虽然我丢失了一些数据

我的问题是,为什么 [ -d "" ] 返回 true?文档清楚地说明它检查路径是否存在并且是一个文件夹

我通过使用解决了这个问题

[ -e $ARTIFACTS ]
这似乎有效

干杯

bash

8
推荐指数
3
解决办法
2386
查看次数

是否有任何内置的 Linux 命令来实时显示目录的内容?

是否有任何内置的 Linux 命令可以实时显示目录的内容?类似于“tail -f file_name”命令,可以实时显示文件的内容。

linux bash

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

标签 统计

bash ×10

linux ×3

alias ×1

bashrc ×1

disk-cleanup ×1

exclude ×1

git ×1

gnu-screen ×1

macos ×1

mount ×1

osx-snow-leopard ×1

recursion ×1

rm ×1

sh ×1

shell ×1