bash 相关问题

有关为Bash命令shell编写的脚本的问题。对于有错误的shell脚本,请在发布此处之前使用shellcheck程序(或在https://shellcheck.net上的Web shellcheck服务器中)进行检查。关于交互式使用Bash的问题更可能是超级用户的主题,而不是Stack Overflow。

隐藏命令并仅获取 shell 中的输出

我正在开发 pressly/goose 迁移工具。 我的所有命令都从 docker 容器内的 shell 脚本文件运行。我想从控制台输出日志中隐藏某些命令或密码。 这里...

回答 1 投票 0

如何生成没有重复字符的随机字符串?

我正在尝试在 Bash 中生成一个符合 MacOS 密码要求的密码,其中之一是它不能包含重复的字符(aa、bb、44、00 等)。 我知道我可以使用 openssl rand -bas...

回答 5 投票 0

通过 Bash 脚本编辑 crontab

仅当 crontab 条目不存在时我才需要添加它。但由于某种原因,我根本无法为此编写简单的脚本。 我已经尝试过这段代码(以及许多其他建议),但它总是附加到 ex...

回答 1 投票 0

将 Docker 容器文件挂载到另一个容器

我正在开发一个代码运行器/编译器网络服务。它由 2 项服务组成: HTTP/Web - 用户在此处发送代码,我运行它,报告结果(Docker 化)。 CodeRunner 容器 - 它抓取文件...

回答 1 投票 0

仅在 shell 脚本中定义的时间内运行命令

我正在尝试捕获日志文件中的一些详细信息,并且希望仅在 23:00 到 01:00 之间捕获有关我的虚拟机的这些详细信息。我将使用 nohup 来运行它......

回答 1 投票 0

使用 shell 脚本将两个 csv 数据合并到一个 csv 文件中

我有第一个包含数据的 csv 文件。 “产品 ID”、“服务器”、“IP 地址”、“操作系统”、“CPU”、“内存”、“描述” “sbaa3fae1522”...

回答 1 投票 0

气流 PYTHONPATH

我发现了错误: ModuleNotFoundError:没有名为“scripts.marketing_functions”的模块 项目结构示例。 脚本/ ├──__init__.py ├── marketing_functions.py └── 营销/ └──

回答 1 投票 0

使用 awk 或 bash 减去两列的值

我有一些文本文件,如下所示。我想减去第 2 列和第 4 列的值,并且需要为输出创建一个新列。 二氧化碳1 二氧化碳2 二氧化碳3 二氧化碳4 r1 15.2 13.0 21.4 r2 23 ...

回答 4 投票 0

如何在 Bash 中制作具有特定十六进制模式的文件?

我正在尝试在 Bash 中使用特定的 4 字节十六进制模式制作许多文件(4KB~10MB)。 例如: 0000000: 1234 5678 1234 5678 1234 5678 1234 5678 .... 所以我使用 dd 和 conve 制作了零模式数据...

回答 4 投票 0

我可以使用dd重复printf输出吗?

我想生成许多由二进制数组成的测试bin文件,例如: b1.bin 0000 0001 0000 0001 0000 0001 0000 0001 b2.bin 0000 0002 0000 0002 0000 0002 0000 0002 等等。 为了...

回答 1 投票 0

我可以使用 printf 管道 dd 吗?

我想生成许多由二进制数组成的测试bin文件,例如: b1.bin 0000 0001 0000 0001 0000 0001 0000 0001 b2.bin 0000 0002 0000 0002 0000 0002 0000 0002 等等。 为了...

回答 1 投票 0

哪里可以找到现成的 Bash 函数,无需任何外部工具即可在 unix/linux 终端中显示盒装文本消息?

我为 VT100(通常由 Linux/Unix 终端仿真器管理)等终端使用 ANSI 转义序列编写了一个运行良好的函数。 我在下面报告了 Bash 代码。 除了粗略的图形

回答 1 投票 0

激活虚拟环境时自定义 venv 提示未更新

我尝试通过将以下内容添加到我的 .zshrc 文件来自定义我的虚拟环境提示: ... 导出 VIRTUAL_ENV_DISABLE_PROMPT=1 如果 [[ -v VIRTUAL_ENV ]];然后 PROMPT='%F{绿色}(venv)%f'$

回答 1 投票 0

是否可以通过smtp通过bash脚本发送邮件?

我有postfix+dovecot。我想制作可以使用 SMTP 的 bash 脚本。我不想使用sendmail。 是否可以?也许有人有一些代码示例?

回答 9 投票 0

配置脚本中出现“找不到命令”错误如何诊断?

我正在维护一个旧项目,并在构建过程中运行配置脚本时遇到问题。该脚本失败,并出现多个“未找到命令”错误,指向 s...

回答 1 投票 0

“ls”的非列输出通过管道传输到“sed”[关闭]

据我所知,命令 sed 逐行处理其输入。因此,以下命令成功仅输出当前目录中的目录: $ ls -p -1 | sed -n '/\/$/p' 在这里...

回答 1 投票 0

在列数未知的表格右侧添加一列

我有两个表(一个是1.csv,另一个是2.csv)。第一个由名称和分数组成,例如...... 姓名、分数 爱丽丝,6 鲍勃,1 乔,2 约翰,7 米歇尔,9 另一个有一个不恒定的表

回答 1 投票 0

如何在CSV中计算满足某些条件的人数

我有一张表,比如 1.csv,其中有姓名和第一天、第二天、第三天、第四天的存在/缺席,例如.. 姓名、第一、第二、第三、第四 爱丽丝,1,1,0,0 鲍勃,0,1,1,1 克拉拉,1,0,1,0 为了减少列数,我

回答 2 投票 0

如何在同一行并排打印 echo 命令的输出和函数的输出?

我正在尝试使用以下 bash 脚本输出菱形。 #!/bin/bash read -p "请写一个数字:" number # 根据输入打印星号: 对于 $(seq 1 "$

回答 1 投票 0

通过管道curl连接到awk来下载并解压文件

我想下载 HTML 页面此部分的所有文件: 第 1 项 我想下载 HTML 页面此部分的所有文件: <td><a class="xm" name="item_1" type="dd" href="/data/24765/dd">Item 1</a></td> <td><a class="xm" name="item_2" type="dd" href="/data/12345/dd">Item 2</a></td> <td><a class="xm" name="item_3" type="dd" href="/data/75239/dd">Item 3</a></td> 第一个文件的下载链接是https://foo.bar/data/24765/dd,由于它是一个zip文件,我也想解压它。 我的脚本是这样的: #!/bin/bash curl -s "https://foo.bar/path/to/page" > data.html gawk 'match($0, /href="\/(data\/[0-9]{5}\/dd)"/, m){print m[1]}' data.html > data.txt for f in $(cat data.txt); do curl -s "https://foo.bar/$f" > data.zip unzip data.zip done 有没有更优雅的方式来编写这个脚本? 我想避免保存 html、txt 和 zip 文件。 bsdtar命令可以从标准输入解压缩档案,允许您执行以下操作: curl -s "https://foo.bar/$f" | bsdtar -xf- 当然,您可以将第一个 curl 命令直接通过管道传输到 awk: curl -s "https://foo.bar/path/to/page" | gawk 'match($0, /href="\/(data\/[0-9]{5}\/dd)"/, m){print m[1]}' > data.txt 事实上,您也可以将该管道的输出直接传送到循环中: curl -s "https://foo.bar/path/to/page" | gawk 'match($0, /href="\/(data\/[0-9]{5}\/dd)"/, m){print m[1]}' | while read archive; do curl -s "https://foo.bar/$archive" | bsdtar -xf- done 我想避免保存(...)zip 文件。 通常许多 Linux 终端命令都会接受 -,意思是 在需要文件名的地方使用 stdin。经过粗略搜索后,某些版本的 unzip 似乎不支持此功能(请参阅 unix.stack.exchange 处的 如何将 wget 的输出重定向为解压的输入?),而其他版本则如 freebsd.org 所描述的那样 如果指定的文件名是“-”,则从标准输入读取数据。 所以如果您正在使用的版本就这样做 curl -s "https://foo.bar/$f" > data.zip unzip data.zip 可以改善 curl -s "https://foo.bar/$f" | unzip - 如果没有,但您想使用unzip,那么根据unix.stack.exchange的答案,使用unzip前缀busybux将修复 curl -s "https://foo.bar/$f" | busybux unzip -

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.