タグ

shellに関するcloserのブックマーク (13)

  • 横着プログラミング 第3回: 履歴マニア

    最終更新日: 2002-05-18 (公開日: 2002-05-18) Unix Magazine 誌に 2002年1月号から 2003年2月号にかけて連載し ていた記事の元の原稿です。 コンピュータの方がうまくできることに人間を使うな。 -- Tom Duff *1 私の見る限り、プログラマという人種は決まって事務作業が嫌いな ようである。同じような書類を何枚も書かされたり、1つ誤字があ るから書き直せと言われたりすると、異常にストレスがたまる。 同様に、計算機を使っていても、同じような作業を何度も繰り返し たり、ちょっとでも間違えたら最初からやり直し、というのは耐え られない。そこで、今回は履歴を活用して作業の再利用をするノウ ハウを取り上げる。 シェルの履歴 Unixを使い始めて間もない初心者が作業しているところを見ると、 打ち間違えたコマンドを律儀に最初から打ち直しているのに気づく

  • 4.14 入出力のリダイレクションとパイプ

    通常,コマンドはキーボード (標準入力) から入力され, 結果は画面 (標準出力) に出力されます. しかし,コマンドの実行結果を利用して次の処理をするときに, 実行結果をファイルや次のコマンドに出力できれば効率的に作業を行えます. シェルは ``リダイレクション'' と ``パイプ'' という コマンドの入力や出力を切り替える機能をもっています. 4.14.1 リダイレクション リダイレクションは, ファイルの内容を標準入力として使用したり, 標準出力の内容をファイルに書き込むための機能です. リダイレクションを利用することによって, ファイルの内容をコマンドに入力したり, コマンドの実行結果をファイルに書き込めます. リダイレクションには, `<' や `>' を用います. 4.14.1.1 リダイレクションを用いた入力 ファイルからデータを読み込んでコマンドに実行させるには, すなわ

    closer
    closer 2008/07/09
  • シェル その2 (リダイレクションとパイプ) - 情報処理特講A - セクション - SOLAR-SYSTEM.TUIS

    closer
    closer 2008/07/09
  • カレントディレクトリのプログラムを実行するには

    というエラーメッセージが表示されて、実行することはできない(xxxはプログラムの名前)。これは、パスにカレントディレクトリが含まれていないために発生する現象なので、実行するにはパスにカレントディレクトリを含めればよい(パスに新しいディレクトリを追加するには参照)。 ただし、そうする前に、なぜデフォルトではカレントディレクトリにパスが通っていないのかを考える必要がある。 それは、カレントディレクトリのプログラムが無条件に実行されるのは好ましくないからである。パスの通ったディレクトリにあるプログラムと同名のファイルがカレントディレクトリにあった場合、パスの順番によってはカレントディレクトリのプログラムが実行されてしまい、ユーザーの意図に反した結果になってしまう。 さて、パスとは関係なく、カレントディレクトリにあるプログラムを実行するには、フルパスでプログラム名を指定すればいい。しかし、これだと

    closer
    closer 2008/05/14
    「PATH=./:$PATH カレントディレクトリのプログラムが無条件に実行されるのは好ましくない」
  • http://www.ttyshare.com/index.php

    closer
    closer 2008/05/08
  • 初めてシェルスクリプトを書くときに知っておきたいこと - Unix的なアレ

    他の言語をを書き慣れてから、シェルスクリプトを書こうとするとしょうもない部分でハマったりすることがあります。「簡単な処理だからシェルスクリプトで書くか」と思っても無駄に時間がかかってしまっては仕方ないですよね。 今回は初めてシェルスクリプトを書くときに、ハマりそうな点について説明をしたいと思います。 実行権限をつける 単純にファイルを生成しても下記の用に実行しようとしても実行はできません。 # touch test # ./test sh: ./test: Permission denied # touch foo # ./foo sh: ./foo: Permission denied これはファイルに実行権限がついていないため、起きる現象です。 chmodコマンドを使って実行権限をつけてやりましょう。 # chmod +x test # ./test # chmod +x foo #

    初めてシェルスクリプトを書くときに知っておきたいこと - Unix的なアレ
    closer
    closer 2008/02/24
  • rush

    rush is a replacement for the unix shell (bash, zsh, etc) which uses pure Ruby syntax. Grep through files, find and kill processes, copy files - everything you do in the shell, now in Ruby. Previously if you wanted to count the number of classes in your project, you might use a bash command like:

  • Rubyの構文でシェルを実現する「rush」 | エンタープライズ | マイコミジャーナル

    Webブラウザ上でRuby on Railsアプリケーションの開発を可能にするサービス「Heroku」の開発者Adam Wiggins氏のブログで、「rush」と呼ばれるRuby言語を用いたシェルが紹介されている。 rushは同氏が開発を行っているシェル。シェルとして現在もっとも一般的に利用されているのはbashであるが、同氏はbashにはさまざまな問題があるとしている。 たとえば、少し複雑なことを行おうとすると、シングルクォートやダブルクォート、バッククォートが入れ子になり、記述するのも理解するのも困難になってしまう。また、シェルでパイプを用いて複数のコマンドを組み合わせた場合、値の受け渡しはすべて空白と改行区切りを基としたテキストデータで行われるため、値として空白文字が含まれいる場合には問題が発生することもある。そのほか、シェルから呼び出されるcpやmv、grep、sedといったコマ

  • 標準入出力使用のすすめ

    特に何も指定しなければ、標準入力はキーボードですし、 標準出力と標準エラー出力は画面です。 なんと、キーボードや画面はファイルだったのです。 リダイレクト プログラムを起動する時に、ちょっと書き足すだけで 標準**の接続先を、キーボードや画面からファイルに変更することができます。 この操作をリダイレクションとかリダイレクトすると言います。 具体的な操作は上の表を見て下さい。 さてさて、リダイレクトすると何が便利になるかと言いますと、 プログラムを作る手間が省けます。 出力結果をファイルに保存するために、 わざわざプログラム中でファイルをオープンする必要はないのです。 標準出力に出力するプログラムを作っておけば、 プログラムを使う人がファイルにリダイレクトすればよいのです。 (画面とファイルに同時出力する方法は後述します。) 入力についても然り。 プログラム中でファイルをオープンする時、 ち

  • シェルのリダイレクトを「こわいものなし」というくらい完全に理解しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)

    Java BlockingQueueで遊ぶ:パイプラインごっこ」でパイプラインの話をしたので、来の、つまりUnixのパイプやリダイレクトを少し調べてみました。 たまに話題となる some-command >file 2>&1 と some-command 2>&1 >fileの挙動の違いについて、「シェルはコマンドラインリダイレクトの指定を右から左に解釈実行する」なんて説明が見つかりました。んなバカな! パージングは左から右にするものですよ。パーズツリーを逆順にたどることはできるけど、そんなことする必然性はなんにもないよ。 次の記事を読むと、「右から左」なんて事情じゃないことが分かるでしょう。 UNIXの部屋 検索: リダイレクト シェルのリダイレクトにまつわる失敗 さてここでは、複雑なリダイレクト処理も完全に理解できる処方箋を示しましょう。例えば、次のコマンドラインが何をするか分かる

    シェルのリダイレクトを「こわいものなし」というくらい完全に理解しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • http://www.ex-machina.jp/zsh/index.cgi?FAQ%40zsh%A5%B9%A5%EC

  • zsh(はてな勉強会)

    8月17日の技術勉強会 - Flexレイアウト手書き勉強会 8月17日に行われました技術発表会の内容を撮影した動画ファイル/資料を公開いたしました。内容は以下のとおりです。 テーマ Flexレイアウト手書き勉強会 発表者 d:id:secondlife 勉強会動画 ダウンロード…

    zsh(はてな勉強会)
  • 1