Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何创建一个多次调用自身的bash文件?_Linux_Bash_Shell - Fatal编程技术网

Linux 如何创建一个多次调用自身的bash文件?

Linux 如何创建一个多次调用自身的bash文件?,linux,bash,shell,Linux,Bash,Shell,我有一台linux机器。 我需要创建一个多次调用自身的bash文件,当某个条件满足时,执行一些操作并退出 为此,我应该使用参数执行文件本身,例如: ./mybash -t 50 -t表示我希望这个文件调用自身的次数,以及if语句为true时:print,wait,exit 因此,为了创建bash,我编写了以下内容(目前还没有工作) 这里的问题是什么? 您希望脚本中有-t选项,但传递了-n shell算法需要使用$(…) 建议您在bash中使用[…]]而不是[…] 使用wait代替sleep

我有一台linux机器。 我需要创建一个多次调用自身的bash文件,当某个条件满足时,执行一些操作并退出

为此,我应该使用参数执行文件本身,例如:

./mybash -t 50
-t表示我希望这个文件调用自身的次数,以及if语句为true时:print,wait,exit

因此,为了创建bash,我编写了以下内容(目前还没有工作)

这里的问题是什么?

  • 您希望脚本中有
    -t
    选项,但传递了
    -n
  • shell算法需要使用
    $(…)
  • 建议您在
    bash
    中使用
    […]]
    而不是
    […]
  • 使用
    wait
    代替
    sleep
您可以使用:

#!/usr/bin/env bash

while getopts t: option
do
   case "${option}" in
   t) TIMES=${OPTARG};;
   esac
done


echo "this is the run number: $TIMES"

if [[ $TIMES -eq 0 ]]; then
    #psudo here
    echo "Hello"
    sleep .1
    echo "Done"
else
    bash "$0" -t $((TIMES - 1))
fi
然后,您可以通过以下方式调用脚本:

bash myBash.bash -t 5
bash myBash.bash -t 5