タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

linuxとbashに関するblueberrystreamのブックマーク (4)

  • shとbashでの変数内の文字列置換など - ろば電子が詰まつてゐる

    シェルスクリプトで文字列を置換したい際、sedを使う手法が紹介されることが多い。が、実はsedなどの外部コマンドを使わなくても、以下のように変数展開をすることでシェル内部で文字列置換をすることができる。 ${変数名#パターン} → 前方一致でのマッチ部分削除(最短マッチ) ${変数名##パターン} → 前方一致でのマッチ部分削除(最長マッチ) ${変数名%パターン} → 後方一致でのマッチ部分削除(最短マッチ) ${変数名%%パターン} → 後方一致でのマッチ部分削除(最長マッチ) ${変数名/置換前文字列/置換後文字列} → 文字列置換(最初にマッチしたもののみ) ${変数名//置換前文字列/置換後文字列} → 文字列置換(マッチしたものすべて)この機能は記号で書かれるため非常にググりにくいことと、素のshでできること・bashでしかできないことが混在して書かれた記述も多いため、あまりネ

    shとbashでの変数内の文字列置換など - ろば電子が詰まつてゐる
  • GNU Screen のちょっと便利な使い方 - プログラミングは素晴らしい

    今日はかなり珍しく技術的な話題を提供します。 要約 [困ったこと] 1つの Screen で複数のサーバにたくさん telnet するとどの仮想端末で何をしていたか忘れる! 選択が面倒! [この記事を読むとできること] Screen のウィンドウタイトルにユーザ名、ホスト名、作業中のディレクトリを表示 どのサーバにどのウィンドウでログインしているかを確認しながらウィンドウ選択 知っている方もかなり多いのかもしれませんが、bash には PROMPT_COMMAND という環境変数があります。PROMPT_COMMAND を使うことで、PROMPT が表示される時に自動的に実行するコマンドを指定できます。 これにたとえば私の場合ですと、次のように設定しています。 PROMPT_COMMAND='echo -ne "\033]0;$(whoami)@$(hostname):$(pwd)\007

    GNU Screen のちょっと便利な使い方 - プログラミングは素晴らしい
  • 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での活用も
  • コンソールから切れたプロセスを標準出力につなげなおす - 絶品ゆどうふのタレ

    不慣れな環境を不意にいじった時にあるあるネタ。 とりあえずー とか言って勢いで書いたsetupスクリプトを実行してみたら意外と時間かかって、 ちょっと目を離した隙にsshの接続が切れちゃいました! 。。。ありますよね。ほんとよくありますよね。 そうなる予感はあったんだ なんて後の祭りです。ふとした油断から、screenもnohupすらも使わずにやってしまって、こんなことに。 shellがHUPしなかったからプロセスは生きてるものの、ログが見れないから進行状況がわからない。 うまく行ってるのかどうかモヤモヤした気持ちのまま、プロセスが終わるのをじっと待つ。。。 まぁ実に切ないです。 こんな時、いつも思うこと。 このプロセスの出力、もっかいstdoutに繋げられたらいいのに。。。 はい。というわけでつなげましょう。 長い前座ですみません。 切り離したプロセスを用意 #!/bin/bash wh

    コンソールから切れたプロセスを標準出力につなげなおす - 絶品ゆどうふのタレ
  • 1