タグ

ノウハウとシェルスクリプトに関するwogawaraのブックマーク (8)

  • シェルスクリプト入門 [制御構文]

    制御構文 if 条件によって処理を分岐させたい場合は、if文を使用します。 シェルスクリプトのif文は下記のような構文になります。 if、スペース、[ 条件 ] という文法となりますが、条件の前後にはスペースを入れないと、エラーとなりますので注意が必要です。「 if [ 条件 ] 」という書き方を「 if test 条件 」と書くこともできます。elif, else は省略することも可能です。また、条件が偽の場合に処理を行いたい場合は、「! 条件」と記述します。下記は、簡単なif文のサンプルです。 test.sh

  • 引数を処理する | UNIX & Linux コマンド・シェルスクリプト リファレンス

    引数を処理する 引数とは? 引数 (ひきすう) とはコマンド (シェルスクリプト) 実行時に、コマンドラインから渡される値のことである。 引数は実行時にプログラム内で参照され、シェルスクリプトの実行結果 (動作) に影響を与える。引数はパラメータと呼ばれることもある。 → コマンド名に続けて引数としてコマンドに渡したい値のリストを指定する。 引数はコマンド名に続けてスペース区切りで指定する。引数として指定可能な値の数は各コマンドにより異なる。 【参考】 引数とオプション コマンド実行時に指定する値には引数とオプションがある。引数は実行に使用されるファイル名や出力されるメッセージなどを指定するのに使用される。 一方、オプションは -f などのように - (ハイフン) とアルファベット1文字で表記され、主にコマンドの振る舞い方を指定する目的で使用されるものである。 また、オプションは -a -

    引数を処理する | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • シェルスクリプト(sh, bash) Tips集

    sh, bash, csh, tcsh でのテクニックや小ネタなど。 すぐ忘れてしまうのでサンプルコードを集めたメモを作りました。基的に環境はLinuxという前提で書いていますが、SolarisやFreeBSDの話も時々混じります。 あるディレクトリから、n日前からm日前までに作られたファイルを全て列挙したい findコマンドのmtimeオプションを使えば良い。ファイル名が返るので、それをxargs(1)で受け取ってお好きなコマンドで処理する。mtimeには+-で日数を指定し、プラスは「より前(より古い)」、マイナスは「より後(より新しい)」を意味する。ゼロが前後24時間を意味するので、前日のファイルは -1 ではなく -0 であることに注意。 またオプションとして -type f と指定することにより、ディレクトリやシンボリックリンクを除外して通常ファイルのみを選択することができる。

  • 全ては時の中に… : 【Linux】bashで指定したディレクトリ内のファイルを取得する

    2009/4/1522:0 【Linux】bashで指定したディレクトリ内のファイルを取得する シェルスクリプト(bash)を使って指定したディレクトリのファイルを1つずつ処理する方法について説明します。 指定したディレクトリからファイルを1つずつ取得するため、繰り返し処理が必要になります。bashで1つずつファイルを取得するには、「for...in」ステートメントを利用します。 (for...inステートメントは、繰り返し処理を実装する場合に利用します) 繰り返し条件の構文は、以下の通りです。 for 変数名 in "取得条件" do done 取得条件に合致するファイルパスを変数名に格納します。 以下、サンプル。 《事前準備》 1.テキストエディタを開く。 2.以下のコードを入力する。 3.ファイルを保存する。 ファイル名:test.sh ※拡張子は、「.sh」にして下さい。 ディレク

  • ftp.html

    Linux のファイルを、ネットワークでつながった他の LinuxPC に転送するには 『ftp』(file transfer protocol)というコマンドを使います。 ftp はマックや windows にも移植されていますが、今回は ある Linux (Linux_A )のファイルを 他の Linux (Linux_B )に転送する場合 について解説します。(←マックや Win でも基的な考え方は同じです...) ★ ftp の起動方法は 『Linux_A』 にログインしてから、 # ftp (ファイル転送先 Linux_B の『名前』) もしくは # ftp (ファイル転送先 Linux_B の 『IPアドレス』) を打てばよいです。 (たとえば、ryutai から mail01 に ftp するときは ryutai にログインした後、 # ftp mail01 とす

  • FTP接続によるファイル転送のバッチ処理 | untitled document

    ftpコマンドでバッチ処理したいときってありますよね。 しょっちゅう同じディレクトリの中身を同じディレクトリに放り込むとか。 じゃ、シェルスクリプト書きましょうということで。 あ、例のごとくWindowsじゃなくてLinuxです で、今回はFTPS(FTP over SSL)での記述なので、ftpじゃなくてlftp使います。 まあftpでも同じような感じだと思います。 #!/bin/sh if lftp <<_EOD set cmd:fail-exit yes open ftps://ftps.example.com user hoge hogehoge cd /remote lcd /local mirror -R quit _EOD then echo "upload succeeded.n" else echo "upload failed.n" fi という感じのシェルスクリプトを

  • 最低限 UNIX / Linux [III] 【シェルスクリプト】

    3. シェルスクリプト さて, vi の使い方を大雑把に理解したところで 今日のメインである シェルスクリプト について学習しましょう. [3.1] シェルスクリプト入門 これまで見てきたように, シェルはユーザとコンピュータの橋渡しをして, ユーザがコマンドを端末から打ち込む毎に, それを解釈し実行します. 一方, [2.0.2]節で触れたように, 「プログラムが可能である」という, もう一つの面もあります. この, プログラムとして手続きを書き込んだファイルを 「スクリプト・ファイル」と言います. スクリプト(script)とは劇の「台」のことであり, 台を事前に決めていてそれに沿って行わせるためにこの名前があります. シェル以外にも多くのスクリプト言語, 例えば Perl, Rubby などがあります. もちろん全部を覚える必要は全くありませんが, 一つでも使いこなせると非常に便

  • bashで始めるシェルスクリプト基礎の基礎(1/2)

    GUIに対するCUIの優位性の1つとして、作業の自動化が挙げられる。普段行う作業を1つのコマンドにまとめたり、複数のファイルに対して同じ処理を繰り返し行ったりといったことが比較的簡単なのだ。WindowsにもWSH(Windows Script Host)が用意されている。しかし、Linuxのbashスクリプトの方が簡単なのだ。 シェルスクリプトの基はコマンドを並べること コマンドによる作業を自動化するには、その内容を記述したテキストファイルを用意すればいいのです。このテキストファイルを「シェルスクリプト」といいます。 最も簡単な自動化 最も簡単なシェルスクリプトは、コマンドをそのまま並べることです。例えば、tarコマンドでファイルのバックアップを取るとしましょう。単純にルートディレクトリから下を全部バックアップするにしても、/devや/tmpは必要ないですね。すると、

    bashで始めるシェルスクリプト基礎の基礎(1/2)
  • 1