来自bash文件的exec行

Qua*_*mis 10 bash

我正在尝试从文本文件中读取命令并从bash脚本执行每一行.

#!/bin/bash
while read line;    do 
     $line
done < "commands.txt"
Run Code Online (Sandbox Code Playgroud)

在某些情况下,如果$line包含要在后台运行的命令,例如command 2>&1 &它们不会在后台启动,并且将在当前脚本上下文中运行.

任何想法为什么?

gho*_*g74 11

如果您的所有命令都在"commands.txt"中,那么基本上,您可以将其称为shell脚本.这就是为什么你可以采购它,或者像普通的那样运行它,即chmod u + x,然后你可以使用它来执行它sh commands.txt