Windowsでは、cmdのコマンドを含むファイル(通常.cmd
または.bat
ファイル)を作成できます。それらのファイルをクリックするcmd.exe
と、ファイルに含まれるコマンドが開き、実行されます。
Ubuntuでこれを行うにはどうすればよいですか?
これは重複していると思いますが、答えが見つかりません。
これらの質問に似ていますが、質問には答えません。
Windowsでは、cmdのコマンドを含むファイル(通常.cmd
または.bat
ファイル)を作成できます。それらのファイルをクリックするcmd.exe
と、ファイルに含まれるコマンドが開き、実行されます。
Ubuntuでこれを行うにはどうすればよいですか?
これは重複していると思いますが、答えが見つかりません。
これらの質問に似ていますが、質問には答えません。
回答:
2つの方法があります。
まず、最も一般的なのはファイルを書き込むことです。最初の行が
#!/bin/bash
次に、ファイルを保存します。次に、実行可能としてマークしますchmod +x file
次に、クリック(またはターミナルからファイルを実行)すると、コマンドが実行されます。慣例により、これらのファイルには通常拡張子はありませんが.sh
、他の方法で終了させることもできます。
いくつかのメモ:
/bin/python
、 /bin/sh
、/bin/dash
、それでも奇数ボールの事は次のように動作します/bin/mysql
bash file/to/run.sh
簡単なBashの例
#!/bin/bash
echo "This is a shell script"
ls -lah
echo "I am done running ls"
SOMEVAR='text stuff'
echo "$SOMEVAR"
2番目の方法は、を使用してコマンドを記録することscript
です。実行してscript
から操作を行います。スタッフタイプexit
とスクリプトの実行が完了すると、実行したすべての「スタッフ」を含むファイルが生成されます。これはあまり使用されませんが、マクロなどを作成するのに非常によく機能します。man script
詳細については。
/bin/dash
(/bin/sh
通常シンボリックリンクされている)bashよりもはるかに高速であることを指摘したいと思います(約15倍速く測定しました)。可能な限り、/bin/dash
シェルスクリプトに使用します:)
シェルスクリプトを使用してファイルに書き込むということですか?以下にいくつかの方法を示します。
touch file
このメソッドは単にファイルを作成しますが、ファイルが既に存在する場合、変更日をそのコマンドを使用した時間に変更するだけです。
echo "text" > file
そのメソッドはfile
to の内容を上書きしますtext
。ファイルをクリアしたい場合は、これを行うことができます:
echo "" > file
それに複数の行を書きたい、そして何千ものecho
コマンドを使いたくないとすると、このコマンドを使います:
cat << EOF > file
test
test1
foo
bar
EOF
これにより、1つのコマンドで複数の行を記述できます。の内容file
は次のようになります。
test
test1
foo
bar
あなたがファイルに追加したい場合は、交換してください>
に>>
。
お役に立てれば!
編集:ああ、なるほど、.sh
拡張子を使用してファイルをgeditで記述し(オプションですが、それは良い考えです)、ファイルマネージャーでファイルを右クリックし、[プロパティ]-> [権限]を選択し、チェックしますAllow executing file as program
。次に、それをダブルクリックすると実行されます:)。また、ターミナルでこれを行いたい場合は、このコマンドを実行して実行可能にすることができます(所有しsudo
ていない場合は先頭に追加することもできます)。
chmod +x file
そして実行するには:
./file
touch filename
echo "" > file
。私の答えにその方法を含めても大丈夫ですか?
Windowsバッチファイルに相当するのはシェルスクリプトで、優れた入門ガイドはBash Scriptingです。
ほとんどの場合、コマンドラインで入力できるコマンドはシェルスクリプトに配置できます。
Windowsバッチファイルとは異なる点がいくつかあります。
シェルと呼ばれるさまざまなコマンドインタープリターがあります。デフォルトはbashですが、興味がある場合は、zsh、ksh、dash、perl、pythonなど、他にもあります。
シェルスクリプトを実行するには、ファイルを実行可能にする必要があります。 chmod +x <filename>
Ubuntuのでは、カレントディレクトリには、プログラムの検索パスではありませんので、あなたが実行する必要が./<filename>
なく、<filename>
変数名は$<varname>
、ではなく%<varname>%
バッチファイルのように、シェルスクリプトのコマンドはデフォルトでは印刷されません。
ファイル名の拡張子.sh
には、拡張子を使用する必要のない(またはより一般的な)拡張子を使用できます。置く#!/bin/bash
ファイルの最初の行でファイルを実行するために使用するためにどのようなプログラムのUbuntuに伝えます。
コメントはで始まり、#
ではありませんrem
。
これがお役に立て、楽しいスクリプト作成をお楽しみください!
/bin/bash
を/bin/sh
に変更したいかもしれませんが、bashはUbuntuのデフォルトではありません。