标签: bash

哪个命令可以从0开始编号?

我需要从 0 开始对行进行编号。

我怎样才能做到呢?我试过了cat -b,但它是从1开始的。

我想要类似的东西,但从0开始。

 command | cat -b 
Run Code Online (Sandbox Code Playgroud)

输出:

1 这是字符串 0

bash

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

Bash/WSL 终端空白/冻结 - Windows 10

过去一个月,我一直在 Windows 10 PC 上使用 VSCode 和 Ubuntu/WSL 终端开发 Web 应用程序。到目前为止一切都运行良好。

今天我启动了我的电脑,Windows 上的 Ubuntu 应用程序显示一个空白终端,Bash.exe 和 WSL.exe 也是如此。我无法在终端中输入或执行任何操作。

Powershell、CMD 和 Git Bash 工作正常。

terminal bash ubuntu windows-subsystem-for-linux

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

为什么!includedir表示导入文件?

cat  /etc/mysql/mariadb.cnf 
# Import all .cnf files from configuration directory  
!includedir /etc/mysql/conf.d/                                                                                                                                               
!includedir /etc/mysql/mariadb.conf.d/ 
Run Code Online (Sandbox Code Playgroud)

该注释表示!includedir可以导入其附近的文件。为什么!includedir是这个意思?includedirbash中没有命令!是否!意味着执行?

linux bash mariadb

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

在 bash 脚本中使用时,Bash 函数给出“未找到命令”?

我创建了一个函数aptget并获取了它的来源:

$ type aptget
aptget is a function
aptget () 
{ 
    sudo apt-get install -y $@
}
Run Code Online (Sandbox Code Playgroud)

以下是脚本的前几行build.sh

#!/bin/bash

sudo apt remove -y x264 libx264-dev

#aptget build-essential checkinstall cmake pkg-config yasm
aptget git gfortran
aptget libjpeg8-dev libjasper-dev libpng12-dev
aptget libtiff5-dev

aptget libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev
aptget libxine2-dev libv4l-dev
Run Code Online (Sandbox Code Playgroud)

当尝试使用aptgetbash 脚本内部时,找不到它?

在此输入图像描述

也许我在这里错过了一些简单的东西..这是在ubuntu 18.04。提示赞赏。

bash ubuntu

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

Windows 上的 git bash 脚本中是否需要 shebang

Shebang 是 bash 脚本的第一行,告诉 bash 脚本的执行位置。在Windows git bash脚本中,有必要吗?如果没有,为什么?

windows linux bash git-bash

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

如何通过 ssh 执行复杂的命令行?

我有时想获取在远程主机上运行的 docker 容器的环境。为此,我登录主机:

ssh kramer65@123.456.789.10
Run Code Online (Sandbox Code Playgroud)

然后我运行这个命令:

sudo docker exec -it `sudo docker ps | grep mycontainername | awk '{print $1;}'` env
Run Code Online (Sandbox Code Playgroud)

我现在想用一个命令来完成此操作(执行超过 3 次,我想自动化它..:-))。

这有效:

 ssh -t kramer65@123.456.789.10 sudo docker ps | grep mycontainername
Run Code Online (Sandbox Code Playgroud)

但当我这样做时

ssh -t kramer65@123.456.789.10 sudo docker exec -it `sudo docker ps | grep mycontainername | awk '{print $1;}'` env
Run Code Online (Sandbox Code Playgroud)

我明白了

"docker exec" requires at least 2 arguments.
See 'docker exec --help'.

Usage:  docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

Run a command in a running container
Connection …
Run Code Online (Sandbox Code Playgroud)

linux ssh bash

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

/bin/bash shell (macOS) 在 shell 启动时抛出 `-bash: statements: -A: invalid option` 错误消息

我按照Fish 文档中的步骤将 macOS Catalina (10.15.1) 上的默认 shell 简要更改为 Fish 。

首先,我执行了> echo /usr/local/bin/fish | sudo tee -a /etc/shells随后的> chsh -s /usr/local/bin/fish. 之后,我意识到我只需要使用其中一个命令,而不是同时使用两个命令,但是哦,好吧。木已成舟,覆水难收。

后来,我决定切换回bash,所以我反向运行命令(根据Fish的恢复说明)首先,> echo /bin/bash | sudo tee -a /etc/shells然后是> chsh -s /bin/bash

当我使用 Bash 重新加载 shell 时,收到以下错误。

-bash: declare: -A: invalid option
declare: usage: declare [-afFirtx] [-p] [name[=value] ...]
-bash: complete: -D: invalid option
complete: usage: complete [-abcdefgjksuv] [-pr] [-o option] [-A action] [-G globpat] [-W wordlist] [-P prefix] [-S suffix] …
Run Code Online (Sandbox Code Playgroud)

bash shell command-line fish macos

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

当按下 ctrl+c 时,仅中断当前函数,而不是整个 bash 脚本

我正在尝试编写一个脚本,其中如果有人按下CTRL+ C(键盘中断),那么它不应该退出整个脚本,而只是退出当前的执行函数。

谁能建议我在这里可以使用什么逻辑?这是相同的一些示例代码

#!/bin/bash

func1()
{
wget https://example.com/test1.txt
cat text1.txt |awk '{print $3}'|tr -d '.' > temp1.txt
}

func2()
{
cat temp1.txt|<stdin-to-some-tool> > temp2.txt
}

func3()
{
<some-tool> temp2.txt > temp3.txt
}
Run Code Online (Sandbox Code Playgroud)

同样,如果我们在此之前停止该函数,其他函数仍应执行。

linux bash command-line shell-script bash-scripting

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

如何下载 YouTube 视频的一部分

我经常遇到需要裁剪部分内容的 YouTube 视频,但这些视频可能很长,而下载整个视频只是为了处理其中的一小部分会花费太长时间并且非常浪费。

尽管自 2013 年以来就出现了youtube-dl关于此问题的 Github 问题,并且在这方面取得了一些进展,但尚未实现任何目标,并且截至 2021 年,此功能仍然不可用。

还有哪些其他解决方案可以仅下载我需要的视频部分?

video bash ffmpeg bash-scripting youtube-dl

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

如何在不先按 Ctrl-b 的情况下在 tmux 中分配键?

在 tmux 中,我们使用触发键Ctrl-b后跟操作键。但是,我想在我的计算机中分配直接.tmux.conf,并希望这是可能的。我想指定F7(无需按Ctrl- b)启动复制模式(即相当于Ctrl-b后跟[),并且还允许Esc以与复制模式相同的方式进行操作q(即退出复制模式) 。因此,F7进入复制模式和Esc退出复制模式。那可能吗?

bash tmux

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