如果我在每一行上都有一个带有单独命令的文本文件,我将如何让终端将每行作为命令运行?我只是不想一次复制并粘贴一行。它不必是一个文本文件...它可以是任何类型的文件,将工作。ubuntu将文本文件作为命令运行
例如.TXT
sudo command 1
sudo command 2
sudo command 3
如果我在每一行上都有一个带有单独命令的文本文件,我将如何让终端将每行作为命令运行?我只是不想一次复制并粘贴一行。它不必是一个文本文件...它可以是任何类型的文件,将工作。ubuntu将文本文件作为命令运行
例如.TXT
sudo command 1
sudo command 2
sudo command 3
你可以做一个shell脚本这些命令,然后chmod +x <scriptname.sh>
,然后只是
./scriptname.sh
它非常简单运行它写一个bash脚本
样机sh文件:
#!/bin/sh
sudo command1
sudo command2
.
.
.
sudo commandn
你也可以只用一个shell中运行它,例如:
bash example.txt
sh example.txt
只是我正在寻找的快捷方式。谢谢。 – saccharine 2013-03-14 21:26:37
也要调试它可以使用bash -x example.txt – 2014-03-03 16:13:56
这就是为什么我安装了Ubuntu。我知道有一个更简单的方法。 – MJoraid 2017-07-06 05:05:54
您可以使用这样的事情:
for i in `cat foo.txt`
do
sudo $i
done
虽然如果命令具有参数(即行中有空格),您可能必须稍稍用一下来保护空白区域,以便通过sudo
将整个字符串看作命令。但它给你一个关于如何开始的想法。
你能用我的例子写一个模型.sh文件吗 – Blainer 2012-03-22 15:35:20
在linux扩展中不是强制性的(你甚至可以创建一个没有扩展名的文件)。它可以工作,即使扩展名是.txt – Saphrosit 2012-03-22 15:37:28
是的,但是你应该在文件头部有这个“#!/ bin/sh”,这样内核就知道它的shell脚本 – Chaos 2012-03-22 15:38:33