※ ChatGPTを利用し、要約された質問です(原文:Linuxシェルスクリプトを新しいコマンドにしたい)
Linuxシェルスクリプトを新しいコマンドにする方法
このQ&Aのポイント
Linux初級者のためのシェルスクリプトを新しいコマンドにする方法を解説します。
新しいコマンドを作成するためには、mybinディレクトリを作成し、tcshのPATHに設定します。
作成したシェルスクリプトをmybinディレクトリに置き、実行権限を与えることで新しいコマンドとして認識させることができます。
Linuxシェルスクリプトを新しいコマンドにしたい
Linux初級者です。よろしくお願いします。
OSにFedora Core 10, シェルにtcshを使用しています。
よく使用するコマンドを、まとめて一括で実行するように、
新しいコマンドを作成したくて、次のようなことをしていたのですが
(1)ホームディレクトリにmybinというディレクトリを作成してPATHを通す。
(2)newbin1という以下の内容のシェルスクリプトを作成して、~/mybinに置いておく。
==================================
#!/bin/tcsh -f
date #実行コマンド例1
echo $PATH #実行コマンド例2
==================================
(3)chmodコマンドでファイルに実行権限を与える。
上記のような方法で、作成したシェルスクリプト(newbin1)を
PATHの通ったディレクトリ(~/mybin)に置いて、
> newbin1
とコマンドを呼び出しても、
"newbin1: コマンドが見つかりません"
というエラーになってしまいます。
> which newbin1
とすると、ちゃんとファイルのパスが表示されるのですが、
***********************************************************
自分で作成したシェルスクリプト(newbin1)を、
新しいコマンドとして認識させるにはどのようにすればよいのでしょうか。
また、そもそもシェルスクリプトを新しいコマンドにすることが
不可能だったりするんでしょうか?
************************************************************
一括で実行したいコマンドが多い場合に、aliasで割り当てるのが大変なので、
できればaliasコマンドは使わずにできる方法を探しています。
基本的な質問かもしれませんが、よろしくお願い致します。
お礼
ご回答ありがとうございました。 その上で大変申し訳ないのですが、原因が私のケアレスミスであったことがわかりました。 シェルスクリプト内の一行目 #!/bin/tcsh -f とするところを #!bin/tcsh -f としており、 tcshコマンド自体が認識されていなかったことが原因でした。 大変ご迷惑おかけしまして申し訳ありませんでした。