Articles of bash

在SLURM sbatch脚本中使用Bashvariables

我试图从另一个文件中获取一个值,并在SLURM提交脚本中使用它。 但是,我得到一个错误,该值是非数值的,换句话说,它不被解除引用。 这是脚本: #!/bin/bash # This reads out the number of procs based on the decomposeParDict numProcs=`awk '/numberOfSubdomains/ {print $2}' ./meshModel/decomposeParDict` echo "NumProcs = $numProcs" #SBATCH –job-name=SnappyHexMesh #SBATCH –output=./logs/SnappyHexMesh.log # #SBATCH –ntasks=`$numProcs` #SBATCH –time=240:00 #SBATCH –mem-per-cpu=4000 #First run blockMesh blockMesh #Now decompose the mesh decomposePar #Now run snappy in parallel mpirun -np $numProcs snappyHexMesh -parallel […]

如何在shell中重复连字符(连字符)

我怎样才能在shell中重复这个字符? 我已阅读并尝试过,但这不适用于- 。 它会抛出错误invalid option 。 下面是我使用的确切命令: printf '-%.0s' {1..100} 原始发布行: printf '-%0.s' {1..100} 我也尝试逃避-通过放置一个\但在这种情况下,它重复\- n次。

如何在linux中设置sed命令的临时文件目录?

我有这样修改文件的bash脚本 sed -i "/hello world/d" /etc/postfix/virtual 我从web应用程序运行这个脚本。 sed命令在该目录中创build临时文件,但在其下运行的Web应用程序的用户无权在该目录中创build文件。 我不想给该文件夹的用户更多的权限。 是否有可能为sed命令指定临时文件位置? 我是在Linux新,所以很抱歉,如果我的问题太容易,但我没有find任何解决scheme。 谢谢!

如何检查一个文件是否是其他的一部分?

我需要通过bash脚本来检查一个文件是否在另一个文件中。 对于给定的多行模式和input文件。 返回值: 我想接收状态(如何在grep命令)0如果find任何匹配,1如果没有find匹配。 模式: 多, 行的顺序是重要的(被视为一个单独的行) 包括数字,字母,?,&,*,#等字符, 说明 只有下面的例子应该find匹配: pattern file1 file2 file3 file4 222 111 111 222 222 333 222 222 333 333 333 333 444 444 以下不应该: pattern file1 file2 file3 file4 file5 file6 file7 222 111 111 333 *222 111 111 222 333 *222 222 222 *333 222 222 333 333* […]

检查目录是否是git存储库(不必cd进去)

我可以使用什么shell命令,使用完整的目录path,确定给定的目录是否是git存储库? 具体来说,我希望能够做到这一点,而不必在目录中,而不必在CD中。 我也希望能够通过一个返回简单的“true”或者“false”的命令来做到这一点(就像在工作树里面进行的rev-parse一样),但这不是必须的。

如何查找除名字以外的文件?

我有一个dir: BLA-BLA-bla1.tar.7z BLA-BLA-bla2.tar.7z BLA-BLA-bla3.tar.7z _bla-BLA-bla_foo.tar.7z 我需要find并删除“ .7z”以外的所有文件“.7z” 我用find / backups / -name“* .7z”-type f -mtime +180 -delete 我怎么能做到这一点?

如何在Iterm中插入制表符?

简单地说,我知道你可以做ctrl + v + tab来在bash语句中插入一个物理上真正的制表符。 但是我怎样才能为iTerm做同样的事情呢?

即使没有真正的用户,我如何在Asterisk的Linux服务中设置环境variables?

我创build了一个作为deamon运行的linux服务(并从/etc/init.d/X开始)。 我需要设置一些可以被应用程序访问的环境variables。 这是场景。 该应用程序是一堆依赖于(因此需要以asterisk用户运行)的Perl AGI脚本,但星号没有shell。 理想情况下,我只是将其设置在/home/asterisk/.bashrc中,但不存在星号。 如何在星号用户的运行环境中为我的应用程序设置环境variables,以便我的应用程序可以使用它们?

就像将所有的命令行参数存储到一个bash脚本中一样

假设我有一个名为foo.sh的bash脚本。 我想这样称呼它 foo.sh Here is a bunch of stuff on the command-line 我希望将所有文本存储到一个variables中并打印出来。 所以我的输出是: Here is a bunch of stuff on the command-line 我将如何做到这一点?

如何获得在bash脚本中执行的命令的进程ID?

我有一个脚本,我想同时运行2个程序,一个是ac程序,另一个是cpulimit,我想先用“&”在后台启动C程序,然后得到C程序的PID,把它交给cpulimit,它也会在后台运行“&”。 我试过下面这个,它只是开始第一个程序,并从不开始cpulimit。 另外我运行这个作为一个启动脚本作为root用在arch linux中的systemd。 #!/bin/bash /myprogram & PID=$! cpulimit -z -p $PID -l 75 & exit 0