Help us understand the problem. What are the problem?
シェルについて調べてるといきなりノックアウトされた。 当ページ管理人のネット上・実社会での観測結果によると、「シェルスクリプト」を「シェル」と呼ぶ人のスキルは著しく低い傾向がある。 区別ついていましたか? 「いや、シェルスクリプトって長いからシェルって省略してただけだし…」 ではシェルって何ですか? シェルとシェルスクリプトについて違いを教えてください。 「・・・」 というわけで調べてみた。 シェルとは シェルはOSとユーザのやり取りを仲立ちするためのものである。 ユーザーが直接OSを操作して、システム全体におよぼすような致命的なエラーを発生させるといったことを回避するために、OSの外殻(貝殻・シェル)として存在する。 つまりOSをユーザから守るための殻だったってことだ。 シェルにはCLIベースのものとGUIベースのものがある。 前者の例としてはBourne Shell(sh)やBourn
Kodama's home / tips. expect. 対話的なコマンド(ssh, telnet, ftp, su等)を自動実行したいとき ssh, telnet , ftp 等の対話的に使用するように作られたプログラムを スクリプト中に組み込んで定型的な作業を自動実行したい場合には expect を用いる事をお勧めします. また, ruby 言語を使えるなら ruby の expect.rb を使うのも良いでしょう. スクリプト中で su が必要な作業をさせたい場合にも便利です. 複数のマシンでの管理作業に利用した例があります. 複数のマシンでリモ−トでコマンド実行 手作業での実行例 次は telnet して ls する場面です. $ telnet hoge # マシンhoge に telnet した hoge login: foo # ログイン名 foo Password: # パ
シェルスクリプト内で自ホストのIPアドレスを利用したいときがあったので、書いてみた。 長くて汚いなぁ。 % /sbin/ifconfig|grep 'inet addr'|grep -v 127.0.0.1|gawk '{print $2;}' | gawk -F : '{print $2;}' 192.168.100.84 % Linuxのみで動作します。 もっといい書き方有ったら教えてほしいです。 /etc/sysconfig/network-scripts/ifcfg-eth0 から取得してもいいけど、ファイル名が違ったり、ディストリビューションによってファイルの置き場所が違うからいまいち汎用的じゃない。
loggerコマンドで、任意のメッセージをsyslog(/var/log/messages)へ書込むことができます。他とば、lsコマンドやdfコマンドの結果を書込む場合は、以下の通り実行することで、実行結果が複数行のログとしてsyslogへ書込めます。 # df -m | logger た だ、上記の通り実行すると、‘logger: ********************’とメッセージが出力され、味気ないものになってしまします。loggerコマンドのオプションで、以下の様に 指定したほうが後でシステムログを参照した時に、幾分わかりやすいと思います。 # df -m | logger -t dfm -i ‘dfm[4332]: ********************’とメッセージが出力されるので、dfmというキーワードからどういった意図で出力されたメッセージかが想像できます。 また、シェ
バッチ処理用にシェルスクリプトを作成したら、通常cronに登録する前に手動で 動作確認をするだろう。手動だと上手くいったのに、cronだと動作しない、あるいは 一部がエラーになる、という状態になったら。 cronの記述や実行権限に問題がないという前提で話を進めるが、原因のひとつとして、 実行ユーザの環境変数が読み込まれていないことが考えられる。 (と言っても、この場合も環境変数とスクリプトの処理に相関関係があるという 前提で話を進めているが) もしそうであれば、スクリプト内に実行ユーザの.bashrc等を読み込ませる 処理を記述すれば正常に動作するだろう。 #!/bin/bash USERINFO=~/.bashrc source ${USERINFO} 他の原因もあるかもしれないが・・・、取り急ぎ、cronエラーのメールが届く 環境であればそれを確認。サーバ内だったら/var/spool
目次 当サイトについて bash シェルスクリプト入門 -シェルスクリプトのいろは- コマンド Tips シェルスクリプト Tips 変数を使用する 配列を使用する 入力と出力 if 文と test コマンド for 文の使用方法 while 文の使用方法 case 文の使用方法 関数の使用方法 引数を処理する 終了ステータス シグナルと trap コマンド フィルタを使用した文字列操作 1 フィルタを使用した文字列操作 2 日付を取得する 文字コードと改行コード シェルスクリプトのデバッグ AWK リファレンス (Deprecated) シェルスクリプト ライブラリ 『ether.sh』 お知らせ Bluesky を始めました @sunone.me 変更履歴 2023.10.07 ページ内リンクを修正した。 2021.02.01 このサイトに「もう 1 ページ追加しよう」と思ってから、も
最近「コマンド化」「自動化」に目覚め、シェルスクリプトにハマっている。 第一歩としてはコマンド化なんだけど、これができると cron などで定期実行できるようになるから結果、これが自動化につながる。 っで、今回はこれまでにプログラムしたスクリプトを汎用化したいと思い、試行錯誤している。 シェルスクリプトを実行する際、以下のようにいくつかの参照方法 / 実行方法がある。 /path/to/shell_script (/ ルートから絶対パスで指定) ./path/to/shell_script (相対パスで指定) ./shell_script (実行ファイルがあるディレクトリに移動して実行) この前提として、実行したファイルと同一階層に設定ファイルや共通 (共有) 化した外部ファイルなどを配置して汎用化を図っているんだけど、こうした外部ファイルの参照方法が今回の課題だった。 PHP でいうとこ
シェルの作成・実行 ・ シェルスクリプトとは ・ シェルの書き方 ・ シェルの実行 変数 ・ シェル変数 ・ 特殊な変数 制御構文 ・ if ・ case ・ while ・ for ・ until 演算・比較 ・ 四則演算 ・ 数値比較 ・ 文字列比較 ・ ファイルチェック ・ 論理結合 関数・オプション ・ 関数の作成 ・ オプションの使用 サンプルスクリプト集 ・ 共通関数を外部ファイルに作成する ・ ヒアドキュメントの利用 ・ findコマンドの有効利用 ・ リストファイルを読み込んで処理する
UNIX を学ぼう back はじめに 研究室における計算機の用途は、おもに 3つある。 論文を書く 実験をする 情報を集める 田中・徳永研では、これらの目的のためにUNIXを使う。 UNIXを学ぶのは、英語を学ぶのに似ている。 最初はわからないことだらけであり、学ぶのはつらい。 しかしいったんある程度のレベルに達してしまえば、 あとは自習するのはやさしい。しかし何事においても 深いレベルの物事を理解するには、多くの基礎訓練が必要である。 目次 ファイルシステム [4月26日] ユーザ、プロセス、シグナル [5月1日] & (演習問題) (その回答) シェルの使い方 (1) [5月8日] シェルの使い方 (2) [5月16日] & (演習問題) データタイプ [6月 11日] ネットワーク [8月 3日] Last modified: Wed Sep 26 19:02:33 2001 Yu
PHPだけで指定ディレクトリをバックアップしたいと思っています。 例えば /web_site /html ・・・一般公開用ディレクトリ /sysytem ・・・PHPシステム用ディレクトリ /backup ・・・バックアップ保存ディレクトリ backup.php ・・・バックアップを実行するPHPファイル というファイル構造でbackup.phpをcronなどで実行すると、/web_siteにあるファイル・ディレクトリがすべて/backupにコピーされていると言ったイメージです。 これまではopendir関数を使ってコピー元ディレクトリを開き、その中のファイルをcopy関数を使ってコピー先ディレクトリにコピーしてました。 しかし、もっと手軽に・完結・高速に出来る方法がないかと思い、質問します。 出来れば環境依存しない方法で、使える関数・ソース構造のヒントを教えていただければと思います
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く