标签: bash

bash - {} 是什么意思?

我想删除大小为 0 的文件。所以我试过:

find ./ -size 0 | xargs rm
Run Code Online (Sandbox Code Playgroud)

但是它有一个问题,文件名以空格开头。我找到了这个:

find ./ -size 0 -exec rm -i {} \;
Run Code Online (Sandbox Code Playgroud)

有用。我认为我的方式xargs太复杂了。

是什么{} \;意思?

你能给我解释一下吗?我的英语不是很好,所以请写简单。

bash

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

Docker exec 不加载别名

我有一个 bash 别名加载到 Docker 容器中,在/etc/bash.bashrc. 它用作命令行 PHP 脚本的快捷方式。这很方便,因为任何人都可以在登录容器后直接使用该别名,如下所示:

$ docker exec -it my-container bash

但是,我还希望能够在不登录的情况下在一次性命令中使用此别名,例如:

$ docker exec -it my-container my-alias

我尝试了不同的变体,例如在 以外的其他地方定义别名/etc/bash.bashrc,但我一直遇到这个错误:

rpc 错误:code = 2 desc = oci 运行时错误:exec 失败:exec:“my-alias”:在 $PATH 中找不到可执行文件

到目前为止,我在网上找到的其他建议并没有奏效。任何人?

bash alias container docker

7
推荐指数
2
解决办法
9755
查看次数

无法解析主机 - Windows Bash

我正在使用 Windows Bash,但出现错误 fox@FOX:/etc$ sudo true sudo: unable to resolve host FOX

我见过有人说我想编辑etc/hosts,但我不知道要在文件中放什么。有人能告诉我我应该用什么来解决这个问题吗?1

windows sudo bash

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

如何查看已完成终端命令的所有先前输出?

我在 gnome 终端中执行了一个命令,该命令向终端打印的输出比我预期的要多。我想阅读整个输出,但终端滚动在到达开始之前停止。

我知道我可以更改终端配置文件设置以启用无限滚动,或将输出通过管道传输到文件等。但是,所有这些常见解决方案都适用于未来的输出。

如何查看已执行命令的完整终端输出?

编辑:好吧,这是不可能的。谢谢大家!

linux terminal bash command-line

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

适用于 Windows 的 Linux 子系统无法访问 Internet

出于某种原因,我在 Windows 上的 Ubuntu 上的 Bash 无法访问 Internet。

即当我做

sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

我得到了一堆失败的获取。正如此链接下描述的问题一样。

我已经尝试了所有建议的解决方案,但它们似乎都不起作用。

我尝试过的事情:

  • 添加8.8.8.8/etc/resolv.conf,
  • 将我的默认网关添加到/etc/resolv.conf,
  • 禁用 IPv6,
  • 在管理模式下运行,
  • 卸载并重新安装 Bash,
  • 禁用我的防病毒软件。

这是我的 resolv.conf 的样子:

#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 2001:4860:4860::8888
Run Code Online (Sandbox Code Playgroud)

bash windows-subsystem-for-linux windows-10-v1607

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

没有 bash 的 Windows 上的 Git

是否可以在不安装 git bash 的情况下在 Windows 上安装 git?

既然 bash 可以在 Windows 上使用,我更愿意使用它,而不是有这么多的 shell。

这甚至是推荐/可能的方法吗?或者我应该安装 git bash 吗?

windows bash git git-bash windows-10

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

如何确定正在使用的 readline bash 版本?

如何确定我在 bash 会话中使用的 readline 版本?

我特别想知道,因为我似乎有 readline 库 6.3,但set enable-bracketed-paste on在我.inputrc的工作中,即使该功能仅在 readline 7.0 中添加。

我在 macOS 10.11(与 Fink 一起安装)上使用 bash 4.4.0。

bash readline

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

bash 是否有一个钩子来确定子 shell 何时退出?

bash我启动一个t/cshshell,它更新stty erase ^H.cshrc 中的 tty 输入 ( ),但是当exit-ing 并返回到 bash 时,backspace密钥不再起作用。这是因为 bash 使用readline,我需要重置擦除 ( stty erase ^?)。

如果我理解trap正确,似乎我可以从 t/csh 进程中捕获 t/csh 出口,并在它退出后运行命令。但是,我更喜欢在 bash 中进行捕获,理想情况下,它会检测到 shell 被调用/退出,然后运行脚本来重置其配置。

这是首选,因为我可以调用任意数量的外壳程序(例如,dash, zsh),这可能会无意中修改特定于 bash 的设置。与其trap为每个 shell维护多个命令,不如为 bash 设置一个命令。


我的理解trap正确吗?如果是这样,是否可以bash检测到子 shell 退出然后运行脚本?

linux bash shell tcsh

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

PowerShell 中 Bash 的 cat -n 的等价物是什么?

我想要cat一个文件并输出它输出的每一行的行号。

但是,在 PowerShell 中,cat输出一个数组。因此,问题实际上变成了:如何在输出到控制台时打印每个项目的索引......?

我试过这样的事情:

$k = cat foo.js
$k | foreach { $index = $k.IndexOf($_) + 1; write "$index : $_"; } | more
Run Code Online (Sandbox Code Playgroud)

它给了我一些奇怪的结果。一些行号重复。什么是优雅且更可靠的方法来做到这一点?

linux powershell bash command-line cat

7
推荐指数
2
解决办法
8001
查看次数

如何使用命令行更改/添加跟踪器到 .torrent 文件?

我在 Debian 上使用传输守护程序来处理我的种子。

目前,我一直在使用网站http://torrenteditor.com/将跟踪器添加到 .torrent 文件。

我想直接使用 Linux 命令行编辑 .torrent 文件,并轻松更改关联的跟踪器(或添加一个,如果可能的话)。

是否可以?

linux bash transmission bash-scripting

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