标签: scripting

检测到静音后结束 sox 录音

我正在编写一个脚本,使用 sox 来记录我的谈话。现在我需要 sox 在开始录音之前等待它检测到声音,我确实想通了。但是,一旦沉默至少 3 秒,我还需要袜子退出。就像现在一样,一旦我说完,我就必须手动杀死 sox,否则 sox 会再次等待,直到我再说话,附加到输出文件(这不是我想要的)。这是我现在使用的录制命令:

rec /tmp/recording.flac rate 32k silence 1 0.1 3% -1 3.0 3%
Run Code Online (Sandbox Code Playgroud)

再次声明,Sox 应该等到我开始说话,然后录音直到我停止说话,然后 sox 程序应该退出。

scripting audio sox

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

作为开发人员,我应该为中间文件写入哪个文件夹?

我开始为我的项目编写一些 bash 脚本,它们需要编写一些中间文件或变量。

我想知道当有人运行我的脚本时我可以确定可以访问哪些文件夹?使用它是一种常见的做法/tmp/吗?还是我应该使用其他东西?

filesystems scripting directory-structure tmp

17
推荐指数
2
解决办法
1102
查看次数

有没有办法使用终端在各种窗口上模拟“关闭”事件?

我在 Ask Ubuntu Quit all instances of gnome-terminalvia a command上回答,但正如你们所有人都可以阅读的gnome-terminal那样,似乎没有SIG我可以用来模拟这个“关闭”事件的电话。所以这让我想问,在 GNOME/KDE/LXDE/{put your window/desktop manager/environment here} 中有没有办法模拟“点击关闭按钮”事件?我已经阅读 可能与此有关的不同 问题 ,但不要回答这个问题。

我正在寻找的是一个全局命令(如果存在)在不同场景中执行此操作。如果不存在,请解释“关闭”按钮的工作原理。

可能的用途:

command-line scripting x11 window window-management

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

使用 $? 在 if 语句中

function foo {
   (cd $FOOBAR;
   <some command>
   if [$? -ne 0]
   then
      echo "Nope!"
   else
      echo "OK!"
   fi
   )
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写一个类似上面的函数并将其放在我的 .bashrc 文件中。在我获取文件并运行后,我得到:

总时间:51 秒
-bash: [1: 命令未找到
OK!

有人可以帮助我理解我做错了什么吗?

scripting bash

17
推荐指数
3
解决办法
4万
查看次数

如何运行并行进程并在完成后合并输出

我有一个 bash shell 脚本,我在其中通过大约 5 或 6 个不同的程序传输一些数据,然后将最终结果放入制表符分隔的文件中。

然后我对一个单独的类似数据集再次执行相同的操作并输出到第二个文件。

然后将这两个文件输入另一个程序进行比较分析。例如简化

Data1 | this | that |theother | grep |sed | awk |whatever > Data1Res.csv
Data2 | this | that |theother | grep |sed | awk |whatever > Data2Res.csv
AnalysisProg -i Data1res.csv Data2res.csv
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何使 step1 和 step2 同时运行(例如使用 &),但仅在两者都完成后才启动 step3(AnalysisProg)?

谢谢

ps AnalysisProg 不适用于流或 fifo。

scripting parallelism

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

用 bash 将字符串中的字符 X 替换为字符 Y

我正在制作bash脚本,我想用我的字符串变量中的另一个字符替换一个字符。

例子:

#!/bin/sh

string="a,b,c,d,e"
Run Code Online (Sandbox Code Playgroud)

我想替换,\n.

输出:

string="a\nb\nc\nd\ne\n"
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

scripting bash text-processing

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

这个以双连字符 (--) 开头的 shebang 是如何工作的?

我在 RosettaCode 页面中发现了以下类型的 shebang:

--() { :; }; exec db2 -txf "$0"
Run Code Online (Sandbox Code Playgroud)

它适用于 Db2,也适用于 Postgres。但是,我不明白整行。

我知道双破折号是 SQL 中的注释,之后它调用 Db2 可执行文件,并使用一些参数将文件本身作为文件传递。但是括号,卷曲的刹车,冒号和分号怎么样,以及如何替换真正的shebang #!?

https://rosettacode.org/wiki/Multiline_shebang#PostgreSQL

scripting shell-script sql shebang db2

17
推荐指数
2
解决办法
1210
查看次数

在 bash 脚本中导入环境变量

我在终端中设置了一些环境变量,然后运行我的脚本。如何拉入脚本中的变量?我需要知道他们的价值观。简单地将它们称为$MY_VAR1不起作用;它是空的。

scripting bash shell-script environment-variables

17
推荐指数
3
解决办法
6万
查看次数

提取嵌套的 zip 文件

我有许多 zip 档案,每个档案都包含许多 zip 档案。递归提取此 zip 存档及其子 zip 存档中包含的所有文件(这些文件本身不是 zip 存档)的最佳方法是什么?

scripting zip files

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

如何检查远程计算机是否在线以进行 ssh/脚本访问?

我正在编写一个脚本,将数据从我的笔记本电脑备份到 Ubuntu 服务器。为此,我正在寻找一个 (ba)sh 命令来在开始备份之前测试服务器是否可用。类似于ping在端口 22 上返回一个布尔值的东西。

我怎样才能做到这一点?

networking scripting ssh backup ping

16
推荐指数
4
解决办法
5万
查看次数