bash相关内容

替换“#"、“$"、“%"、“&"和“_"与“\#"、“\$"、“\%"、“\&"和“\_"

我有一个纯文本文档,我想在 LaTeX 中编译它.但是,有时它包含字符“#"、“$"、“%"、“&"和“_".要在 LaTeX 中正确编译,我必须首先将这些字符替换为“#"、“\$"、“\%"、“\&"和“_".我在 sed 中使用了这一行: sed -i 's/\#/\\\#/g' ./file.txtsed -i 's/\$/\\\$/g' ./file.txtsed -i 's/\%/\\ ..
发布时间:2022-01-24 13:27:55 其他开发

如何在 bash 中生成步骤 n 的范围?(生成带增量的数字序列)

在 bash 中迭代一个范围的方法是 for i in {0..10};回声 $i;完毕 使用步骤迭代序列的语法是什么?比如说,我想在上面的例子中只得到偶数. 解决方案 我愿意 for i in `seq 0 2 10`;回声 $i;完毕 (当然 seq 0 2 10 会自行产生相同的输出). 请注意,seq 允许浮点数(例如,seq .5 .25 3.5),但 bash 的 ..
发布时间:2022-01-24 12:06:52 其他开发

在 gruntfile 中执行 shell 脚本并将结果分配给变量

我正在使用 grunt 来管理一套 mocha-run 测试.mocha 测试套件中要求的一件事是设置某些环境变量,以便根据运行测试的开发人员的环境正确执行测试.其中一个环境变量在每个开发人员的机器上都有不同的值,因此我们执行一个 bash 脚本来为我们正在设置的环境变量返回该值. 我正在使用 grunt.util.spawn 运行脚本并将其结果分配给我的 gruntfile 中定义的变量, ..
发布时间:2022-01-24 11:07:44 其他开发

有没有编译成 Bash 的语言?

我既喜欢又讨厌写 Bash.我喜欢它如此简化了文件操作和处理流程(我同意 这个流行的问题,它在这方面比 Python、Ruby 等要好得多),但我 讨厌em> 语法,尤其是在条件、循环等方面. (这是主观的,但我觉得它既令人困惑又烦人.例如,读取时是 $var,而写入时是 var;如果周围有空格,则写入会静默失败=;使用正则表达式时 ifs 中的双括号;有时使用双分号,有时使用单分号;等等) ..
发布时间:2022-01-24 10:47:08 其他开发

命名管道不会等到在 bash 中完成

在下面的 test.jl 中创建一个 output.txt 并生成一些控制台输出.控制台输出处理得很好.但是在完全创建 output.txt 之前,控制权会在 echo 之后立即返回.在 echo 和 mv 之间放置一个等待会导致无限期的等待.是否应该在不终止管道的情况下将回车传递给管道? mkfifo 管道睡眠 1000000 >管道&朱莉娅stdout.txt 2>stderr.tx ..
发布时间:2022-01-23 19:02:41 其他开发

Bash Centos7 “哪个"命令

我意识到这可能是一个愚蠢的问题,但我安装了 Centos-7 最小服务器,并且“which"命令不存在或丢失.我有一个需要它的脚本,但我找不到安装它的 yum 包.代码如下,来自一个 make 文件. which grep >/dev/null 2>/dev/null如果测试“$?"!=“0"然后echo "\"grep\" 命令未找到."echo "安装中止."1号出口菲 任何帮助都将不胜感 ..
发布时间:2022-01-23 09:08:38 其他开发

未找到生成命令

我在尝试运行 .sh 文件时出错 第 2 行:spawn:找不到命令“: 无此文件或目录bash.sh:第 3 行:期望:找不到命令bash.sh:第 4 行:发送:找不到命令 #!/usr/bin/expect -fspawn sftp -o IdentityFile=MyFile.ppk 500200243@XXX.XXX.XXX.XXX期待“XXX.XXX.XXX.XXX.gateway ..
发布时间:2022-01-23 09:07:33 其他开发

使用 shell 脚本删除文件夹的内容

我在尝试清空脚本中的文件夹时遇到问题. 这在我的命令行中工作: rm -r Folder1/Folder2/* 但如果在我的脚本中我这样做: DIR="Folder1/Folder2/"rm -r "$DIR*" 上面写着“rm: Folder1/Folder2/*: No such file or directory",问题出在哪里? 我在尝试命令时在同一文件夹中运行脚本. ..
发布时间:2022-01-23 09:06:56 服务器开发

使用“手表"在 Bash 中重复运行一个函数?

这是我的第一个 Bash 脚本.我的 Debian 机器出现 WiFi 问题.我不是在这里询问原因,而是如何在 Bash 问题上使用创可贴.我的 WiFi 会随机掉线,通常每 12-15 分钟一次.我在这台服务器上使用 SSH,并且不想从物理服务器手动运行 ifdown wlan0 和 ifup wlan0 (重新连接 WiFi). 这个 Bash 脚本的作用是尝试连接 3 次.如果它失败了 ..
发布时间:2022-01-23 09:05:47 服务器开发

快速 ls 命令

我必须得到一个包含大约 200 万个文件的目录列表,但是当我对它执行 ls 命令时,什么都没有返回.我等了3个小时.我试过 ls |tee directory.txt,但这似乎永远挂起. 我假设服务器正在进行大量的 inode 排序.有什么方法可以加快 ls 命令以获取文件名的目录列表?我现在不关心大小、日期、权限等. 解决方案 ls -U 将执行 ls 而不进行排序. ..
发布时间:2022-01-23 09:00:28 服务器开发

当您处于历史中间时,导航到历史上最早/最新的命令

假设我在一个 bash 终端中并且有大量的命令历史.我按了很多次向上箭头,并且处于历史的“中间".我现在想快速导航到历史记录中的第一个或最后一个命令(无需长时间按住向上或向下箭头).这可能吗?如果有,实现这个的快捷键是什么? 解决方案 看看手册页: man bash 我在这里为你复制了你要找的东西: previous-history (C-p)从历史列表中获取上一个命令,然后在列表中 ..
发布时间:2022-01-23 08:58:47 其他开发

列出当前目录和所有子目录中特定大小的文件

如何在当前目录及其子目录中显示所有大于 10k 字节的文件. 试过 ls -size +10k 但没用. 解决方案 find .-size +10k -exec ls -lh {} \+ 第一部分与@sputnicks 答案相同,并成功找到目录中超过 10k 的所有文件(不要将 k 与 K 混淆),我的补充是,第二部分然后执行 ls -lh 或 ls 按人类可读大小 (-h) ..
发布时间:2022-01-23 08:56:11 服务器开发

如何通过 * 将包括隐藏文件在内的所有文件移动到父目录中

这一定是一个热门问题,但我找不到答案. 如何通过 * 移动所有文件,包括隐藏文件以及像这样的父目录: mv/path/subfolder/*/path/ 这将像预期的那样将所有文件移动到父目录,但不会移动隐藏文件.该怎么做? 解决方案 您可以在 UNIX &Linux 对如何将所有文件(包括隐藏文件)从一个目录移动到另一个目录的回答?.它展示了 Bash、zsh、ksh93、标准 ..
发布时间:2022-01-23 08:55:47 服务器开发

如何使用 bash 从单独的文件中粘贴列?

我想用分隔符“-"合并不同的列表. 第一个列表有 2 个单词 $ cat first一谁 第二个列表有 10000 个单词 $ cat second语言更多的简单的先进的家专家…………测试不 我想要两个列表合并,同样... $cat 合并列表一种语言多一个…………谁更……谁测试谁-不…… 解决方案 粘贴 应该可以解决问题. paste 是一个 Unix 命令行实用程序, ..
发布时间:2022-01-23 08:53:17 服务器开发

Unix中的测试命令不打印输出

为什么 unix 终端中的命令 test 3 -lt 6 没有输出?test 不应该输出 0 或 1 吗? 我做了一个男人测试,它说 以 EXPRESSION 确定的状态退出 解决方案 退出状态不打印,只是返回.你可以在if或while中测试,例如 if test 3 -lt 6 ;然后回声确定别的回声不好菲 另外,最后一个表达式的退出码保存在$?中: 测试 3 -lt ..
发布时间:2022-01-23 08:52:46 其他开发

在“for"循环中读取带有空格的完整行,带有多个输入文件的选项卡

我看过'for'循环的文章.它会根据空格、制表符或换行符等空白的出现进行拆分.为了解决这个问题,我有以下额外的命令: IFS=$'\n' 但是当我尝试通过以下细节解决上述情况时(我有两个文件:'input1.txt' 和 'input.txt' 在我的当前目录): BASH 命令: bash script.sh 'input*' 下面是 'for' script.sh 中的循环块 ..
发布时间:2022-01-23 08:52:05 服务器开发

execlp 多个“程序";

我想运行类似的东西 cat 文件.tar |base64 |我的程序 -c "| base64 -d | tar -zvt " 我使用 execlp 来运行进程. 当我尝试运行类似 cat 的东西时,它可以工作,但如果我尝试运行 base64 -d |tar -zvt 不起作用. 我查看了 bash 命令,发现我可以运行 bash 并告诉他运行其他程序.所以它是这样的: exec ..
发布时间:2022-01-23 08:50:52 C/C++开发

如果使用三通,如何检查出口?

我尝试使用 tee 将输出保存在如下文件中: myapp |三通日志.txt 但是我在检查退出时遇到了问题.之前的代码: myapp如果 [ $?-eq 0]然后 ..... 但是$?将是发球台的出口!是否有可能捕获 myapp 的退出?谢谢. 解决方案 对于 bash,有一个方便的特殊数组:PIPESTATUS.myapp 的返回码将在 ${PIPESTATUS[0]} 中,以此 ..
发布时间:2022-01-23 08:49:29 服务器开发