redhatで使えるシェルの作り方

このQ&Aのポイント
  • redhatで使用するシェルを作成する方法について学びます。
  • Linux初心者でもわかりやすいコマンドの書き方と実行方法を紹介します。
  • Windowsとは異なる特徴や注意点も解説します。
回答を見る
  • ベストアンサー

redhatで使用するシェルを作りたいです。

redhatで使用するシェルを作りたいです。 linuxはほとんど触ったことがなく、そもそもの理解が間違っているかもしれません。 ご容赦ください。 サーバOSがredhat5.4?でとりあえずシャットダウン処理を走らせる、簡単なコマンドでできないかと思っています。 Windowsだとbatファイルにshutdownコマンドを記入して実行すればシャットダウンされますが、linuxの場合はshファイルにどのようなコマンドを記入してどう実行すればよいのかわかりません。 Windowsとは勝手が違うのでしょうか? インターネットで調べてみましたが入門編のようなサイトが見当たらず、このように投稿した次第です。 よろしければコマンドの書き方と実行方法を教えていただけると助かります。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • vaidurya
  • ベストアンサー率45% (2714/5983)
回答No.2

シェルとは、OSとユーザーの間に入る仕組みを指す言葉で OS環境の変遷によって、意味が多様化していますが… UNIXではターミナルエミュレーターやsshログイン時などで キーボード操作を司るソフトウェアです。 (sh,csh,bashほかいろんなシェルがあります) このシェルで動かすテキストファイルによる自動処理の仕組み またそのためのテキストファイルをシェルスクリプトと呼びます。 シェルスクリプトは、慣例としてshという拡張子を付けることが多いのですが UNIX系OSでの実行可否は、拡張子ではなく属性によって決まるため 必ずしもshという拡張子が必要なわけではありません。 逆に言えば、shという拡張子を付けても属性設定を誤れば実行されません。 また、MS-DOSなどのように、カレントディレクトリーにある実行ファイルが 最優先で実行対象になるということもありません。 ./test.shといった書式で明示しない限り、規程の実行パスに基づき処理されます。 でシャットダウンの手段ですが… Microsoftがshutdownというコマンドを発見する前から UNIX系OSではshutdownコマンドが使われてきました。 (Microsoftはインターネットを発見するのに3年から10年かかったと揶揄されます) まぁ、MS-DOS時代のPCは、同時期のMacと違い ソフトウェアからの電源offができなかったりしていましたが MS-DOSの終了手段さえも、Microsoftからは提供されていなかったのです。 (再起動もHSBみたいなツールが大人気だったし) Linuxのshutdownコマンドでは、OSの終了と、OSの終了後の電源offが可能です。 また、コマンド発行時にターミナルエミュレーターやsshなどから繋がった端末に 終了を伝えるメッセージを送る機能もあります。 この機能を効果的に利用するために、コマンド発行から 実際の終了処理開始までの時間を指定することもできます。 〉システムは reboot に向けて、 30 分後にシャットダウンします! といったメッセージが表示されます。 (ただしgnome-terminalやkonsoleなどの別タブには表示されません) 通常はroot権限で使う必要があります。 限定的に一般ユーザーに使わせるためには シェルスクリプトで工夫することができます。 Linuxでは初期段階でそういったシェルスクリプトが用意されている場合もあります。 管理者権限に関する事情は、WindowsとLinuxではいろいろ違う気がしますが… Windowsでバッチファイルを作らなくてもshutdownコマンドが使えるように Linuxでのshutdownもシェルスクリプトを作らなくても使えます。 シェルスクリプトで定型的な使い方を用意するのも便利ですが…コマンドラインで yum check-update;yum updateyum -y update;sleep 30m;shutdown -h now と入力して使うこともできます。 (アップデート終了後、30分放置されていたら電源を落とす:但しroot権限にて)

その他の回答 (1)

  • 0909union
  • ベストアンサー率39% (325/818)
回答No.1

man shutdown or shutdown -h shutdown -help shutdown -? or init 0

関連するQ&A

  • 【Linux】シェルの実行方法を教えて下さい。

    【Linux】シェルの実行方法を教えて下さい。 ファイルの中身が#!/bin/bashで始まる拡張子shのシェルがあります。 これを実行するには、どのようなコマンドを打てばよいのでしょうか? 1.rootでログイン。 2.test.shがあるフォルダに、cdで移動する。 3.test.shと入力し、Enterキーを押す。 ↑みたいな感じで良いのでしょうか。 テスト用サーバなので、最悪壊しても良いと上司に言われましたが、 なにぶん時間がないため質問させていただきました。 Redhatでバージョンが3か4だったと思います。 よろしくお願いします。

  • Linuxのシェル(sh,bash等)について

    Linux上でコマンドを実行するとき、その窓口となるものが、シェル(sh,bash)という認識です。 つまり、 (1)CUI環境でLinuxを操作する上で、シェル以外でコマンドを実行する事はありうるのか? (2)Windowsのコマンドプロンプトも一種のシェルと言えるか 以上、2点についてお教え頂きたいです。 宜しくお願いします。

  • shはシェルなのかコマンドなのか?

    http://d.hatena.ne.jp/KishikawaKatsumi/20080504/1209922424 で $ sudo sh j2sdk-1_4_2_13-linux-i586-rpm.bin $ sudo rpm -ivh j2sdk-1_4_2_13-linux-i586.rpm と、shと打ち込むと最後の.binが消えますが、shは シェルなのか、それともコマンドなのかどちらなの でしょうか? 手元にあるlinuxの入門書には「shはシェルの一種である」 と記述があります。googleで検索をしてみましたが、 コマンドであるような記述もあり、混乱しております。 また、その入門書には「シェルを切り替えるには、コマンドライン でシェルの名前を入力します。exitコマンドで、元のシェル に戻ります」とあり、その文章の下には実際にshと打ち込んでexit で元に戻る様が書いてあるので実際に試してみました。 [root@localhost ~]# sh sh-3.2# exit exit [root@localhost ~]# この記述のせいでますますわからなくなりました。 なお、最後のbinがシェルスクリプトであることは理解して おります。 ご存じの方、ご教授頂ければ幸いです。何卒宜しくお願い申し 上げます。

  • シェルの中からシェルを呼び出して判定

    UNIXで以下のようなシェルが動作しております。 #!/bin/sh su abcdef -c './GHI'; err=$? if [! $err -eq 0 ] then echo エラーが発生しました fi exit このシェルは「abcdef」ユーザに移ってカレントディレクトリのシェルコマンド「GHI」の結果を判定するというものです。 UNIX上では問題なく動作しております。 これをLinuxでそのまま動作させると「err」に「su abcdef」というユーザ切替コマンド自身の正否を格納しているようです。 「'」でくくられた範囲内で結果をファイルに格納したりして、その後ファイルの中を見て判断するとうまくいくことは分かっておりますが、出来たらファイルなど使いたくありません。 このような場合、みなさんどうしてるんでしょうか? よく出てくるパタンだと思うのですがどうしても良い対処が見つかりません。 どうか宜しくお願いします。 Linuxは「miracle-Linux2.0」というOSです、いわゆるRedHat系です。

  • Redhat9にあるシェルスクリプトをWinXPのアプリから実行させる方法

    サーバ:Redhat9(ファイル[smb],DB[postgres]サーバ) クライアント:WinXPorWin2000 Redhat9でDBの一括処理をシェルスクリプトで作成しました。 自動処理はcrontabなどで行っていますが、手動処理も行いたいと思います (DBだけではなく、いろいろ活用する予定です) クライアントはVC6.0で作成されたアプリが動作しています。 (要はクライアントサーバシステムです) クライアントのアプリからボタンクリックでRedhatのシェルスクリプトを実行するよい方法はありますか? 現在案として (1)Redhatでシェルスクリプトを作成する (2)Windowsでrshコマンドを使用しシェルスクリプトを実行するバッチファイルを作成する (3)クライアントのアプリからバッチファイルを実行する という方法を考えていましたが、 rshのPermission deniedの問題で先に進めません。(この件は別スレッドで質問済みです) 何か良い案をご教授頂けますでしょうか? よろしくお願いします

  • bad interpreterで、シェルが使えません(T_T)

    RedHat9ではよく以下のような胃の痛いような エラーがでます。 rootでシェルが実行できないのですが、 どうすれば実行できるでしょうか? ■1.shというシェルファイル #!/bin/sh /bin/touch 1 ■1.shを実行するとエラーになります。。 # ./1.sh : bad interpreter: そのようなファイルやディレクトリはありません ■cronでも動きません。。 /bin/bash: 1.sh: /bin/sh: bad interpreter: No such file or directory

  • Linuxのシェルについて

    いつもお世話になっております。 Linux(redhat)でのシェルスクリプトを作成したいと思いますが、あるコマンドを実行して実行成功したか失敗したかをstatusで拾う形にしたのですがうまくいきません。アドバイスをお願いします。 例: #!/bin/sh set ST = $status date ←コマンド if [ $ST == 0 ]; then echo "**************" echo "* o k *" echo "**************" exit $NORMAL else echo "**************" echo "* N G  *" echo "**************" exit $ABEND fi

  • Linuxでシェルスクリプトがフルパスだと実行できない

    Linuxでシェルスクリプトがフルパスだと実行できない こんにちは 現在linuxでシェルスクリプトを記載していて、やっと出来た!と思ったら、なぜかフルパスで実行すると失敗します。 中身は例えば #!bin/sh echo "hello" とし、ファイル名をtest.shとします。 実行時にカレントからだと上手くいきます。 ./test.sh ただし、フルパスで実行するとうまくいきません。 ./home/user/test.sh エラーは以下 bash: ./home/dv3/tet.sh:No such file or directory 所有者はrootでグループもrootにしてあります。 シェルの権限は755にして、rootで実行しています。 なぜカレントだと上手くいき、フルパスだと上手くいかないのでしょうか? パスが必要なコマンドも入っていないのに。。。 どなたかご教授いただけると幸いです。 宜しくお願い致します。

  • XPを使用しています。

    XPを使用しています。 以下の作業を自動化したいのですが、シャットダウンがうまくいきません。 (1) スタンバイ状態 (2)タスクにて特定の時間にあるプログラムを実行 (3)タスクにて特定の時間にシャットダウンコマンドを実行 (2)まではうまくいくのですがシャットダウンされません。 シャットダウンはbatにて以下のコマンドを実行しています。 C:\WINDOWS\system32\shutdown.exe -f 「タスクの実行時にスリープを解除する」にチェックを入れています。 どなたか教えてください。 宜しくお願い致します。

  • shutdownコマンドについて

    Windows XP で、管理者権限ではないユーザーでシャットダウンのバッチファイルを作って実行したのですが、コマンドプロンプト画面で永遠にシャットダウンの命令が連続で表示されるだけで、シャットダウンされません。どうしたらいいでしょう? シャットダウンファイルは、ファイル名が「shutdoun.bat」中身が「shutdown -s -t 0」です。 ちなみにプロンプトに直接打つとシャットダウンされます(汗) どうかよろしくお願いします。