各行に個別のコマンドを含むテキストファイルがある場合、ターミナルを各行をコマンドとして実行するにはどうすればよいですか?一度に1行ずつコピーアンドペーストする必要はありません。テキストファイルである必要はありません...動作する任意の種類のファイルを使用できます。
example.txt
:
Sudo command 1
Sudo command 2
Sudo command 3
これらのコマンドを使用してシェルスクリプトを作成し、chmod +x <scriptname.sh>
、そしてそれを実行するだけです
./scriptname.sh
Bashスクリプトを書くのはとても簡単です
モックアップshファイル:
#!/bin/sh
Sudo command1
Sudo command2
.
.
.
Sudo commandn
たとえば、シェルで実行することもできます。例:
bash example.txt
sh example.txt
Execute
. example.txt
これは、ファイルに実行可能フラグを設定したり、追加のbashインスタンスを実行したりすることなく、まさにあなたが求めていることを行います。
詳細な説明については、例えば https://unix.stackexchange.com/questions/43882/what-is-the-difference-between-sourcing-or-source-and-executing-a-file-i
次のようなものを使用できます。
for i in `cat foo.txt`
do
Sudo $i
done
コマンドに引数がある場合(つまり、行に空白がある場合)、文字列全体がSudo
によってコマンドとして認識されるように、ホワイトスペースを保護するためにそのことを少し気にする必要があります。しかし、それはあなたに開始する方法のアイデアを提供します。