如果我在每一行上都有一個帶有單獨命令的文本文件,我將如何讓終端將每行作爲命令運行?我只是不想一次複製並粘貼一行。它不必是一個文本文件...它可以是任何類型的文件,將工作。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