Bla*_*ner 45 linux bash terminal ubuntu command
如果我有一个文本文件,每行都有一个单独的命令,我如何让终端作为命令运行每一行?我只是不想一次复制和粘贴1行.它不必是一个文本文件......它可以是任何类型的文件.
example.txt:
sudo command 1
sudo command 2
sudo command 3
Run Code Online (Sandbox Code Playgroud)
kcl*_*air 68
你也可以用shell运行它,例如:
bash example.txt
sh example.txt
Run Code Online (Sandbox Code Playgroud)
Cha*_*aos 66
你可以使用这些命令创建一个shell脚本,然后chmod +x <scriptname.sh>,然后运行它
./scriptname.sh
Run Code Online (Sandbox Code Playgroud)
写一个bash脚本非常简单
样机sh文件:
#!/bin/sh
sudo command1
sudo command2
.
.
.
sudo commandn
Run Code Online (Sandbox Code Playgroud)
Dav*_* L. 10
执行
. example.txt
Run Code Online (Sandbox Code Playgroud)
这恰好满足您的要求,而无需在文件上设置可执行标志或运行额外的bash实例。
你可以使用这样的东西:
for i in `cat foo.txt`
do
sudo $i
done
Run Code Online (Sandbox Code Playgroud)
虽然如果命令有参数(即行中有空格),你可能不得不用一点点来保护空白,以便整个字符串被视为sudo一个命令.但它会让你了解如何开始.
cat /path/* | bash
Run Code Online (Sandbox Code Playgroud)
或者
cat commands.txt | bash
Run Code Online (Sandbox Code Playgroud)