タグ

shellに関するshuuuuunyのブックマーク (70)

  • bash 入門

    ユーザーの入力をカーネルに伝えまたその逆を行う、いわば両者の橋渡しを行うプログラムをシェルといいます。ユーザーから見てカーネルを包んでいる貝殻(shell)のように見えることからそう名付けられました。 シェルには多くの種類がありますが、Linuxにおけるデファクトスタンダードになっているbashについてどんな機能があるかを見ていきます。 補完 まず知っておきたい基的な機能が補完です。コマンドプロンプトでTabキーを押すことで、コマンド名やファイル名を補完することが出来ます。 $ ls abc1 abc2 def $ cat a[Tab] $ cat abc 確定できる部分までが補完されました。ここからさらに2回Tabキーを叩くと候補が表示されます。 $ cat abc[Tab][Tab] abc1 abc2 リダイレクト・パイプ リダイレクトとパイプという機能を理解するにはプロセスがどの

  • シェルスクリプトで環境変数を設定する

    LD_LIBRARY_PATHなど、いちいち設定するのが面倒な環境変数を、 シェルスクリプトに記述できたら便利です。 [env_set.sh] # 環境変数の設定 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/hoge さっそく、このシェルスクリプトを実行してみます。 $ ./env_set.sh $ echo $LD_LIBRARY_PATH $ …?。恐らく、シェルスクリプトで設定した内容は、反映されていないはずです。 通常、シェルの中で設定された環境変数は、そのシェルを抜けると消去されるためです。 シェルスクリプト内で設定した環境変数を、呼び出し元のシェルにも反映するためには、 次のようにしてシェルスクリプトを実行すればOKです。 $ source ./env_set.sh $ echo $LD_LIBRARY_PATH

  • PS1とPROMPT_COMMAND, GNU screenでの活用も

    B! 24 0 0 0 前回プロンプトの事を書いたので、 ついでにPROMPT_COMMANDの設定についてメモしておきます。 GNU screenを起動させている時についても。 PROMPT_COMMAND PS1, PS2, PS3, PS4 PS1 PS2 PS3 PS4 PS1とPROMPT_COMMANDの使い分け プロンプトの表示 ターミナルのタイトルバーの表示 GNU screen内での表示 おまけ PROMPT_COMMAND bashにはPROMPT_COMMANDと言うシェル変数があり、この値に指定したコマンドが 各コマンド実行後に処理されます。 PROMPT_COMMAND='echo command finish' としておけば、毎回コマンド実行後にcommand finishが表示されます。 (Enterだけ押した場合にも。) PS1, PS2, PS3, PS4

    PS1とPROMPT_COMMAND, GNU screenでの活用も
  • Get current directory or folder name (without the full path)

    How could I retrieve the current working directory/folder name in a bash script, or even better, just a terminal command. pwd gives the full path of the current working directory, e.g. /opt/local/bin but I only want bin.

    Get current directory or folder name (without the full path)
  • Cygwin 色変更 - Pocketstudio.jp Linux Wiki

    ¥×¥í¥ó¥×¥È¡© † ¡¡¥·¥§¥ë¾å(bash, csh ¤Ê¤É) ¤Ç¤Ï¥³¥Þ¥ó¥É¤òÆþÎϤ¹¤ë¥³¥ó¥½¡¼¥ë¡Ê¥­¡¼¥Ü¡¼¥ÉÆþÎϤΤ¿¤á¤Î¾ì½ê¤¬ÅÀÌǤ·¤Æ¤¤¤ëÃÏÅÀ¡Ë¤Î»ö¤ò¥×¥í¥ó¥×¥È¤È¸Æ¤Ó¤Þ¤¹¡£ ¡¡Fedora/Red Hat ¤Ç¤Ï¡¢½é´ü¾õÂ֤Ǥϰʲ¼¤Î¤è¤¦¤Ê·Á¼°¤Ç¤¹¡£ [¥æ¡¼¥¶Ì¾@¥Û¥¹¥È̾ ~]$ ¡¡¤¿¤È¤¨¤Ð¡¢¥æ¡¼¥¶Ì¾¤¬ sakura¡¢¥Û¥¹¥È̾¤¬ sion ¤Î¾ì¹ç [sakura@sion ~]$ ¡¡¤Èɽ¼¨¤µ¤ì¤Þ¤¹¡£~ ¤Ï¡Ö³ºÅö¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¡×¤È¤¤¤¦°ÕÌ£¤Ç¤¹¡£ ¡¡¤¿¤È¤¨¤Ð¡¢¥«¥ì¥ó¥È¥Ç¥£

  • Welcome to m-bsys.com

    Welcome to m-bsys.com If you are the domain administrator get started creating your home page with Google Sites

  • .bash_profileとか.bash_loginとか.profileとか.bashrcとか.bash_logoutとか多すぎる - rderaログ

    bashの設定ファイルが多すぎて、混乱しました。 でも、ちょっと調べたら分かった(つもり)。 試しにアウトプットしてみます。 bashの設定ファイル こんなにあるみたいなんです。 /etc/profile ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc ~/.bash_logout /etc/profile ログインしたときに読み込まれます。 デフォルトの設定ファイルですね。 ~/.bash_profile ログインして/etc/profileの次に読み込まれる設定ファイル。 結構、大事なファイルみたいです。 ~/.bash_login ログインして~/.bash_profileが存在しない場合に読み込まれる。 Cシェルの.loginに由来します。 ~/.profile ログインして~/.bash_loginが存在しない場合に読み込まれ

    .bash_profileとか.bash_loginとか.profileとか.bashrcとか.bash_logoutとか多すぎる - rderaログ
  • bashの基礎

    なお、以前に操作したコマンドの履歴を番号付きで表示させるには、history コマンドを使用します。デフォルトでは、1000個まで履歴に保存されます。もし、この数値を変更したい場合は、環境変数HISTSIZEの値を変更します。シェルで、HISTSIZE=500 のように入力すると履歴は500回まで保存されるようになります。変更されたかどうかを確認するには、env コマンドを使用します。なお、入力履歴はユーザーごとに、ホームディレクトリ下に .bash_history というファイルが作成されており、そのファイル内に入力履歴が記録されていきます。なので、システムを再起動したり、停止させたりしても、ホームディレクトリ直下に.bash_historyが存在すればいつでも入力履歴を呼び出すことができます。 ここで、ちょっと余談なんですが、TeraTerm での便利な画面(スクロール)移動について紹

  • シェルスクリプト入門 [演算・比較]

    乗算の演算子は「*」ですが、UNIXでは「*」はワイルドカードという特別な意味がありますので、エスケープ文字「\」を使用して「\*」と書きます。また、演算子の前後のスペースは省略できませんので注意してください。以下は四則演算のサンプルスクリプトです。 expr_test.sh #!/bin/sh a=`expr 5 + 3` b=`expr 5 - 3` ab=`expr $a + $b` c=`expr 5 \* 3` d=`expr 5 / 3` e=`expr 5 % 3` echo "a=$a" echo "b=$b" echo "ab=$ab" echo "c=$c" echo "d=$d" echo "e=$e"

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

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