如何在 Linux 中多次运行命令?
在某些情况下,您可能希望运行特定命令“N”次。在正常的编程中,这可以通过在该编程语言中可用的任何循环结构来完成。在 Linux bash 中,我们也有循环和其他一些方法可以重复运行命令“N”次。
在本教程中,我们将探索不同的 bash 脚本,这些脚本将允许我们多次运行某个命令。
当您想使用 bash 脚本时,第一步是创建一个。在 Linux 或 macOS 机器上,您可以使用以下命令创建 bash 文件:
touch mybash.bash
请注意,文件名称可以是任何名称,但文件扩展名必须相同(即 bash)。保存 bash 脚本后,使用以下命令执行它:
bash mybash.bash
现在我们知道了如何创建和运行 bash 文件,让我们探索所有这些不同的示例。
使用“for”循环重复命令
您可以使用“for”循环多次打印某个命令。 “for”循环有不同的变体,我们将借助不同的 bash 脚本探索所有这些变体。
首先,让我们考虑一个简单的非条件“for”循环,我们将使用它打印一个简单命令 5 次。请考虑以下 bash 脚本:
# using a for loop for i in {1..5} do echo 'Sr-no: $i - Welcome to Tutorialspoint' done
保存此脚本然后执行它。您将在终端上获得以下输出:
Sr-no: 1 - Welcome to Tutorialspoint Sr-no: 2 - Welcome to Tutorialspoint Sr-no: 3 - Welcome to Tutorialspoint Sr-no: 4 - Welcome to Tutorialspoint Sr-no: 5 - Welcome to Tutorialspoint
另一种实现相同目标的更简单方法是将上述 bash 脚本代码写在一行中,这可能一开始看起来有点奇怪,但它用更少的行数完成了相同的工作。
# using a for loop for i in {1..5}; do echo 'Sr-no : $i - Welcome to TutorialsPoint'; done
以上两个 bash 脚本都使用了非条件“for”循环,但您也可以使用基于条件的“for”循环来打印某个命令“N”次。例如,请查看以下 bash 脚本:
# using a for loop for ((i=0;i<5;i++)); do echo 'Sr-no : $i - Welcome to TutorialsPoint'; done
执行上述 bash 脚本,您会注意到它产生了相同的输出。
使用“while”循环
您也可以在 Bash 脚本中使用“while”循环来多次打印某个命令。例如,请考虑以下所示的 bash 脚本。
# using a while loop i=1 while [[ $i -le 5 ]]; do echo 'Sr-no: $i - We all love Linux.' let ++i; done
运行上述脚本,它将在终端上产生以下输出:
Sr-no: 1 - We all love Linux. Sr-no: 2 - We all love Linux. Sr-no: 3 - We all love Linux. Sr-no: 4 - We all love Linux. Sr-no: 5 - We all love Linux.
使用 Bash 函数
您可以使用 Bash 函数来多次打印某个命令。例如,请考虑以下所示的 bash 脚本。
# using a bash function function repeatNTimes(){ for ((i=0;i<$1;i++)); do eval ${*:2} done } repeatNTimes 5 echo 'The tougher it gets, the cooler I get'
这里我们创建了一个名为“repeatNTimes”的用户定义函数,然后调用它来打印一个字符串 5 次。保存并执行此 bash 脚本。您将获得以下**输出**:
The tougher it gets, the cooler I get The tougher it gets, the cooler I get The tougher it gets, the cooler I get The tougher it gets, the cooler I get The tougher it gets, the cooler I get
结论
在本教程中,您学习了在 Linux 中多次重复命令的不同方法。