Articles of 循环

可能“循环”和“输出”不能在我的bash脚本中正常工作

我写了下面的脚本: #!/bin/bash echo "Reading data – headers – both" if [ $# -ne 3 ]; then echo "Usage: ./nmap <port-range> <ip-list> <d || h || b>" exit 1 fi rm -f /tmp/right.txt 1>/dev/null 2>/dev/null rm -f /tmp/wrong.txt 1>/dev/null 2>/dev/null output="" if [ $3 == h ]; then while read -r -u3 port; do while read […]

从`find`循环文件名?

如果我运行这个命令: sudo find . -name *.mp3 那么我可以得到很多mp3文件的清单。 现在我想用循环中的每个mp3文件做一些事情。 例如,我可以创build一个while循环,并将第一个文件名称分配给variablesfile 。 然后我可以用这个文件做一些事情。 接下来,我可以将第二个文件名称分配给variablesfile然后执行该操作等。 我怎样才能实现这个使用Linux shell命令? 任何帮助表示赞赏,谢谢!

用于循环多个文件夹中的文件 – bash shell

我需要在for循环中有许多目录中的文件。 至于现在,我有以下代码: for f in ./test1/*; … for f in ./test2/*; … for f in ./test3/*; … 在每个循环中,我正在做同样的事情。 有没有办法从多个文件夹中获取文件? 提前致谢

如何使一个创build一个程序的40个同时实例的bash脚本?

我是bash和Linux新手。 我有一个我写的程序,我想要创build多个同时的实例。 现在,我打开10个新的terminal,然后运行程序10次(我运行的命令是php /home/calculatedata.php 什么是最简单的方法来做到这一点使用bash脚本? 另外,我需要知道如何杀死这些实例,因为它们正在运行一个无限循环。 谢谢!!

Bash脚本:循环执行后总是显示菜单

我正在使用这样的bash脚本菜单: #!/bin/bash PS3='Please enter your choice: ' options=("Option 1" "Option 2" "Option3" "Quit") select opt in "${options[@]}" do case $opt in "Option 1") echo "you chose choice 1" ;; "Option 2") echo "you chose choice 2" ;; "Option 3") echo "you chose choice 3" ;; "Quit") break ;; *) echo invalid option;; esac done 每次菜单select后,我只是得到提示 […]

在bash文件中循环行,而不使用stdin

我受到以下情况的困扰。 我有一个文件list.txt,我想通过一行,一个循环,在bash中运行。 在list.txt中的一个典型行中有空格。问题是循环包含一个“读取”命令。 我想在bash中写这个循环,而不是像Perl那样。 我不能这样做:-( 下面是我通常会写一个循环来逐行读取文件: while read p; do echo $p echo "Hit enter for the next one." read x done < list.txt 这虽然不起作用,因为当然“读取x”将从list.txt而不是键盘读取。 这也不起作用: for i in `cat list.txt`; do echo $i echo "Hit enter for the next one." read x done 因为list.txt中的行有空格。 我有两个build议的解决scheme,这两个都很臭: 1)我可以编辑list.txt,并用“THERE_SHOULD_BE_A_SPACE_HERE”全局replace所有的空格。 然后,我可以在我的循环内使用像sed这样的东西,用空格replaceTHERE_SHOULD_BE_A_SPACE_HERE,我将全部设置。 我不喜欢这个愚蠢的理由,如果list.txt中的任何一行包含THERE_SHOULD_BE_A_SPACE_HERE(这样恶意用户可以搞砸我),它将会失败。 2)我可以使用stdin的while循环,然后在每个循环中,我可以实际启动一个新的terminal,这将不会受到涉及到标准input的原始shell的影响。 我尝试过这样做,但确实得到它的工作,但它很丑陋:我想把所有这一切都包装在一个shell脚本中,我不希望这个shell脚本随机打开新窗口。 如果我能弄明白如何以某种方式在命令中调用一个新的shell并向它提供命令而不向stdin提供stdin,那么会怎么样呢?它的工作。 例如,这不起作用,我不知道为什么: while read […]

使用bash来读取一个文件,然后从提取的单词中执行一个命令

文件: hello world 我想用一种脚本语言( BASH )来执行一个读取上面FILE每个WORD的命令,然后把它插入到一个command 。 然后循环到列表中的下一个单词(新单词上的每个单词)。 它在到达FILE结尾时停止。 进展情况与此类似: 从上面的FILE读取第一个WORD 将单词插入命令 command WORD > WORD 这将输出到一个文本文件; 用word作为文件的名字。 重复这个过程,但旁边的第n个WORD (每个新的一行)。 在达到上述FILE结尾时终止进程。 上面FILE 的BASH命令的结果 : 你好: RESULT OF COMMAND UPON WORD hello 世界: RESULT OF COMMAND UPON WORD world

如何在bash中的所有子目录下gzip所有文件

我想在我当前位置的子目录之间进行迭代,并单独gzip每个文件。 为了压缩目录中的文件,我使用 for file in *; do gzip "$file"; done 但是这只能在当前目录下工作,而不能在当前目录的子目录下工作。 我怎样才能重写上述语句,以便它也拉链所有子目录中的文件?

在文件创build时执行一个bash脚本

我正在寻找写一个小的bash脚本,启动时,观看任何新创build的文件的目录。 如果出现新文件,我希望它的存在触发第二个脚本运行。 我看到这被用来触发压缩最近的数字化video,并将其添加到摄入的素材日志。 目前我的代码如下所示: #!/bin/sh ##VIDSTAT is a global variable coming from a parent script. ##proj is the ingestion directory coming from a parent script proj=$1 dir="/home/$USER/data/movies/$proj" dirlist=$(ls $dir) while { $VIDSTAT -eq 1 }: do for mov in $dirlist do if [ "$(( $(date +"%s") – $(stat -c "%Y" $mov) ))" -lt "5" ] […]

循环/定时器在C

如何在C中创build一个计时器? 我想要一段代码从gpsparsing器输出中连续获取数据。 有没有好的图书馆,还是应该自己写?