如果我有一个文本文件,每行都有一个单独的命令,我如何让终端作为命令运行每一行?我只是不想一次复制和粘贴1行。它不必是一个文本文件......它可以是任何类型的文件。
example.txt
:
sudo command 1
sudo command 2
sudo command 3
答案 0 :(得分:65)
你也可以用shell运行它,例如:
bash example.txt
sh example.txt
答案 1 :(得分:59)
您可以使用这些命令创建一个shell脚本,然后chmod +x <scriptname.sh>
,然后通过
./scriptname.sh
编写bash脚本非常简单
样机sh文件:
#!/bin/sh
sudo command1
sudo command2
.
.
.
sudo commandn
答案 2 :(得分:6)
执行
. example.txt
这完全可以满足您的要求,而无需在文件上设置可执行标志或运行额外的bash实例。
答案 3 :(得分:5)
您可以使用以下内容:
for i in `cat foo.txt`
do
sudo $i
done
虽然如果命令有参数(即行中有空格),你可能不得不用一点点来保护空白,以便sudo
看到整个字符串作为命令。但它让你了解如何开始。
答案 4 :(得分:0)
cat /path/* | bash
或
cat commands.txt | bash