(スクリプトを実行するために)カスタム端末コマンドを作成するにはどうすればよいですか?


36

私はウェブ開発者です。作業を開始したいときは、常にターミナルでコマンドを実行しています。例えば:

sudo service apache2 start
sudo service mysql start
sublime

このプロセスを高速化するために、.shこれらのコマンドを含むファイルを作成します。

さて、作業を開始したいときは、この.shファイルとすべてのサービス(mysql、apache2など)を開始するだけです。

このためのカスタムコマンドを作成することはできますか?たとえばsudo start-working、ターミナルに入力すると、これらのコマンドが実行されます

回答:


58

これを処理する一般的な方法binは、ホームディレクトリにディレクトリを作成することです。mkdir ~/bin

次に、そこにカスタムスクリプトを配置できます。 mv start-working ~/bin

スクリプトが実行可能であることを確認してください: chmod +x ~/bin/start-working

これを~/.bashrcファイルの最後に追加します(bashを使用している場合は、おそらくそうです):export PATH=$PATH:~/bin

ここで、ターミナルに再度ログインしてログアウトすると、単にタイプするだけstart-workingで、スクリプトが実行されます。

パスが設定されたので、新しいスクリプトをドロップする~/binと、名前を入力するだけで済みます。


13
+1、およびログアウトとログインの代わりに、単にsource ~/.bashrcor . ~/.bashrcコマンドを実行して変更を適用できます。
メイサム

Joe Oppegaard、完成したスクリプトがあり、スクリプトではなくコマンドとして実行したいので、この非常に有用な情報を見つけました。〜/ binに作成したすべてのサブディレクトリを含める方法はありますか?.bashrcに複数のエクスポート行を含める必要はありませんか?私は試しましたexport PATH=$PATH:~/bin/*が、それは望ましい結果を返しませんでした。
ケビンワイマン

2
デフォルトでは~/.profile既に~/binPATHに追加されているため、追加~/.bashrcで追加すると無意味に2回以上追加されます。
ガイラ

私は.bashrcに何も追加しなくても機能したので、ゲリハが言うようにそれをスキップできるかもしれません
アーロンフローレス

私の経験では、新しいファイルを追加するときはchmodコマンドをやり直す必要があります。そうしないと、許可が拒否されます
Webwoman

15

カスタムコマンドを作成する方法を探していましたが、他にもこの質問がありました。私が探していたのはエイリアスであったと思うので、エイリアスでこれを行う方法を紹介します。

ホームフォルダーで:

nano .bash_aliases

そして、そこにコマンドを1行で書き留めることができます。

alias start-working='sudo service apache2 start; sudo service mysql start; sublime'

ファイルを保存した後、bashrcを再構成します

. ~/.bashrc

そして、新しいエイリアスがロードされていることを確認してください

alias

これで、次のコマンドを実行して作業を開始できます

start-working
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.