タグ

shellとbashに関するU1and0のブックマーク (18)

  • ターミナルマルチプレクサ tmux をカスタマイズする - Qiita

    前提 ターミナルマルチプレクサとは、 GNU screen tmux などの仮想端末マネージャのことです。 メリット マウスを使わず端末内でコピペできる(スクロールバックで端末画面外に流れてしまった情報にアクセスできる) アタッチ・デタッチ機能で一時停止ができる 画面分割により、一画面でコマンドラインとエディタを表示できる 画面管理もできるので、すべてのウィンドウをタブのように管理できる すべて設定ファイルでカスタマイズできる ことが挙げられます。デメリットとしては、VimEmacs のように初期の導入コストが高いことでしょうか。これらの類はとっつきにくいイメージが有りますが、エディタのそれよりは簡単です。 参考 tmuxのコマンド tmuxを使い始めたので基的な機能の使い方とかを整理してみた こんな感じ これが普段使いの環境です。私の場合ですが、OS X 10.10 で利用し

    ターミナルマルチプレクサ tmux をカスタマイズする - Qiita
  • bashのキー操作一覧まとめ - 元RX-7乗りの適当な日々

    bashでは、"Ctrl"や"Esc"キーと組み合わせることで様々な操作ができるので、メモ代わりにまとめておきます。 よくやるのが「Ctrl + s」キーを押してしまうと、フリーズしたかのように見えるので一瞬焦ってしまう。そんな時は・・・ Ctrl + b カーソルを左へ1文字移動 (←キーでもOK) Ctrl + f カーソルを右へ1文字移動 (→キーでもOK) Esc + b カーソルを右へ1単語移動 Esc + f カーソルを右へ1単語移動 Ctrl + p historyの1つ前に入力したコマンドを表示 (↑キーでもOK) Ctrl + n historyの1つ後に入力したコマンドを表示 (↓キーでもOK) Ctrl + h カーソルの左1文字を削除 (BackspaceキーでもOK) Ctrl + d カーソルの右1文字を削除 (DeleteキーでもOK) Ctrl + a カー

    bashのキー操作一覧まとめ - 元RX-7乗りの適当な日々
  • VISUAL vs. EDITOR – what’s the difference?

    Stack Exchange Network Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers. Visit Stack Exchange

    VISUAL vs. EDITOR – what’s the difference?
    U1and0
    U1and0 2018/05/01
    “The EDITOR editor should be able to work without use of "advanced" terminal functionality (like old ed or ex mode of vi). It was used on teletype terminals. A VISUAL editor could be a full screen editor as vi or emacs.”
  • Bashでコマンドの存在チェックはwhichよりhashの方が良いかも→いやtypeが最強→command -vも - Qiita

    コマンドのパスを知りたいんじゃなく、コマンドの存在をチェックしたいだけならwhichよりhashを使ったほうが良いかもっていう話。→追記: typeが最強っぽい。 追記: command -vも良い。プログラムの存在チェックorパスを探したいだけなら互換性を考えると一番良いかも。 比較してみる whichよりhashよりtype=command -vが高速→typeまたはcommand -vの勝ち whichは実ファイルという実体があるプログラムです。hashとtypeはbashの組み込みコマンドです。なので当然ですがプログラムの起動コストがない分hashやtypeの方が速いです。 $ time bash -c 'for((i=0;i<10000;i++));do which perl; done >/dev/null' real 0m7.739s user 0m2.928s sys 0m

    Bashでコマンドの存在チェックはwhichよりhashの方が良いかも→いやtypeが最強→command -vも - Qiita
    U1and0
    U1and0 2018/05/01
    “whichは実ファイルという実体があるプログラムです。hashとtypeはbashの組み込みコマンドです。なので当然ですがプログラムの起動コストがない分hashやtypeの方が速いです。”
  • 何もしない組み込みコマンド ":" (コロン)の使い道

    Bash でシェルスクリプトを勉強していくと出会うのが : (コロン)という名前の組み込みコマンド。このコマンドは何もしないコマンドです。 こんなコマンドの存在は不思議だなと思う反面、C言語にも void という型があったり(関数のような形で存在するのは JavaScript とかですね)、LaTeX にも \relax があったり、何もしない命令というものは機械語の NOP からある普通のものです。 この Bash の : の使い道についてまとめてみました。 何か書かなければならないところに仮置きする 例えば「ここに制御構造を置くんだけど、この節に入るものは後で書くんだけどな〜」といった場合、制御構造の節の中に何も書かないと Bash は構文エラーとなります。 #!/bin/bash arg="$1" if [ -z "$arg" ] ; then echo "デフォルトモード開始" e

    何もしない組み込みコマンド ":" (コロン)の使い道
    U1and0
    U1and0 2018/04/30
    “${parameter:-word} $parameter が未定義か空の場合、word を展開 $parameter or "word"”
  • 第504回 インタラクティブフィルター「fzf」の活用 | gihyo.jp

    前述の通り、fzfは標準入力からリストを受け取り、それをフィルタするのが基です。たとえば以下はfindコマンドでカレントディレクトリ以下にあるディレクトリのリストを出力し、それをfzfでフィルタする例です。 カレントディレクトリにあるディレクトリの一覧を対話的に選択する例 $ find . -maxdepth 1 -type d | fzf fzf上で検索ワードを入力すると、リストから候補を絞り込めます。リストの項目が多い場合は、全体を目視できる程度まで検索で絞り込み、最後にカーソルを使って候補を選択するのが基です。 図1 findコマンドの出力をfzfに渡した状態。ここから検索ワードを入力して絞り込んだり、カーソルで項目を選択する 図2 「⁠mai」と入力してみたところ。Mailディレクトリはもちろんのこと、あいまい検索によりこれらのアルファベットを含む「.thumbnails」ディ

    第504回 インタラクティブフィルター「fzf」の活用 | gihyo.jp
  • msys2 を fish shell にしてみた : (*x).b=z->a+y/c

    ◆ 単純にシェル切り替えても動かない ◆ デフォルトシェルは bash のままで .bashrc の最後に exec fish ◆ bash で初期化処理済ませて fish shell に切り替える 何が良いのかよくわかってないけど便利だとか Linux は zsh にしてて困ってないし設定がめんどそうなのでこのままでいい Windows でたまに使う msys2 はたまにしか使わないので bash のまま放置してました pacman で検索してみるとインストールできるようだったのでインストールしてみました fish と実行すると というプロンプトになって (ユーザ名@ホスト名  です)コマンド打ってると薄く補完候補が出ています zsh ではこうなるプラグイン入れていましたがデフォルトでこんな機能がついてるのはいいですね デフォルトを fish にするmsys2 ではデフォルトシェルを変え

    msys2 を fish shell にしてみた : (*x).b=z->a+y/c
    U1and0
    U1and0 2018/01/22
    iniとかbatファイル書き換えるのめんどい。bashrcだかprofileにexec fish追加してあげればよい
  • おい、peco もいいけど fzf 使えよ - Qiita

    (続編; --expect オプションの酷使について)私の fzf 活用事例 peco 便利ですよね。正直、使い始めてしまうと使わない日はありません。最近の CLI 界隈では選択的インターフェイスやインタラクティブフィルタなどと呼ばれるツールが盛んに開発されています。特に peco は ghq との連携で一躍人気が出た気がします。 ghqを使ったローカルリポジトリの統一的・効率的な管理について こんなやつですね。以下は ghq のリポジトリへのアクセスを簡単にするためにスクリプトです。 # Require Bash 4.0+ peco-src() { local selected selected="$(ghq list --full-path | peco --query="$READLINE_LINE")" if [ -n "$selected" ]; then READLINE_LI

    おい、peco もいいけど fzf 使えよ - Qiita
  • bashの変数($,ダラー,ドル)まとめ - nori3tsu's blog

    書式説明 $?直前に実行したコマンドの終了ステータス $@スペース区切りの実行引数 $*変数$IFS区切りの実行引数 $0ファイル名 $n実行引数のn番目の値 ${@:n}スペース区切りの配列のn番目以降 ${@:n:o}スペース区切りの配列のn番目からo番目 $$プロセスID ${!var}varの値を変数名としてeval実行 ${#var}varの文字数 $((1+2))算術演算 ${foo-bar}fooの変数がない場合にbarを使う ${foo:=bar}fooの変数がない場合にbarを使いfooにbarの値を設定 n,o=数値 var=変数名 参考 BASHでの変数について Bash変態文法最速マスター? - programming 2006-10-27 - 明日=今日×(反省+前向き)+努力

    bashの変数($,ダラー,ドル)まとめ - nori3tsu's blog
  • bash によるオプション解析 - Qiita

    すこし記事が長いため、簡単なアウトラインを書いておきます。要点だけ掴みたい場合は、最終項の「まとめ」を読むのがいいかもしれません。 コマンドライン引数の一般的な解析手法 それぞれの特徴 〜 getopt と getopts の違い getopts(メリット・デメリット) getopt(メリット・デメリット) 自前で解析しちゃう(唯一のデメリット) まとめ ============================= コマンドライン引数を処理する一般的な手法として、 getopts getopt shift などで自力で解析 といった具合に、上から順に考えつくかと思います。getopt(3) は UNIX において、コマンドの引数を処理する一般的な C 言語のライブラリ関数です。それを用いて実装されたコマンドが getopt(1) です。Bourne シェル系だと内部関数になりますが、同系統の

    bash によるオプション解析 - Qiita
    U1and0
    U1and0 2017/09/27
    [
  • シェルスクリプト文字列の処理について

    はじめましてよろしくお願いします。 質問サイトもシェルも初心者なので至らない点がございましたら ご容赦の程よろしくお願いします。 下記シェルスクリプトを実行すると下記エラーが発生します。 「test2」変数に空白無しで「abc」と入力するとエラーは発生しません。 変数test2の値(a bc)を変更せずにエラーが発生しない方法はないでしょうか? 手段でもかまいませんので教えてください。 ========================= testsh110207.sh ====================================== #!/bin/sh test1="abc" test2="a bc" if [ ${test1} = ${test2} ] then echo "=:文字列1と文字列2が等しい場合に真" echo "test1の「${test1}」と、test2の

    シェルスクリプト文字列の処理について
    U1and0
    U1and0 2017/09/16
    if \[ ${test1} = ${test2} \]   ↓ if \[ "${test1}" = "${test2}" \] 値にスペースを含む変数を引数に渡すときはダブルクォーテーショ ンで括らないと展開されて複数の引数が渡されたという風にみなさ れてしまいます。
  • bashからzshに移行して2014年を迎えよう![ログインシェル]

    この記事は、2013年12月20日に書きました。 ・2014年5月15日にzshの設定にpreztoの事も名前だけ紹介しました。 ・2014年5月15日に.zshrc読み込むたびにPATHが増えていく場合の対処法を追加しました。 ■まえがき 自分なりのzshを入れるメリット。 入力補完が優れてる ←゚+。゚(・∀・)゚。+゚イイ!! 非標準コマンド(brew、gitとか)の入力補完 ←゚+。゚(・∀・)゚。+゚イイ!! カラーリングがbashより見やすい ←゚+。゚(・∀・)゚。+゚イイ!! bashより処理が高速 同時に立ち上げてるターミナル間でのhistory共有 時間のかかる処理が終わったら通知 gitのカレントブランチの表示 ←゚+。゚(・∀・)゚。+゚イイ!! 履歴機能が強力(改行も記録される) ←゚+。゚(・∀・)゚。+゚イイ!! 2014年1月号のソフトウェアデザイン誌にシェ

    bashからzshに移行して2014年を迎えよう![ログインシェル]
    U1and0
    U1and0 2017/08/21
    “$ chsh -s /usr/local/bin/zsh ”
  • Set color bash prompt according to active virtualenv, git branch and return status of last command.

    U1and0
    U1and0 2017/04/24
    bash_prompt git branchの状態git statusで確認してカラー表示
  • bashのヒアドキュメントを活用する - Qiita

    ヒアドキュメントはシェルスクリプトの中にちょっとした別のスクリプトを埋め込むときに便利です。 数行のスクリプトのためにわざわざファイルを作る必要がなくなり、見通しがよくなります。 # ちょっとしたスクリプトを動かすのに便利 # 例) oracleDBのテーブル一覧を出力する sqlplus -S user/pass@sid << EOS set pagesize 0 set feedback off select table_name from tabs order by table_name; EOS 要点 ヒアドキュメントを理解するうえで重要なのは、ヒアドキュメントは標準入力として扱われる、ということです。 文字列リテラルでないことに注意してください。 これを把握していれば、最初の例でcatにヒアドキュメントを渡していた理由がわかるかと思います。 catはファイルを省略した場合に標準入

    bashのヒアドキュメントを活用する - Qiita
    U1and0
    U1and0 2017/04/01
    catで複数行STDOUTにprint “cat << EOS hoge fuga piyo EOS”
  • .bash_profileと.bashrcの違いは

    ユーザーのホームディレクトリには、.bash_profileや.bashrcといったファイルがある。どんなファイルがあるかは、-aオプション付きでlsコマンドを実行すると表示される。 $ ls -a ./          .bash_history  .bashrc  .emacs           .rpmmacros  rpm/ ../         .bash_logout   .canna   .emacs-color.el  .screenrc   tmp/ .Xdefaults  .bash_profile  .cshrc   .emacs.el        .xemacs.el この中の.bash_profileと.bashrcは、共にログインしたときに実行される設定用のシェルスクリプトだが、両者にはもちろん違いがある。 .bash_profileは、ログイン時だけに

    U1and0
    U1and0 2016/09/23
     .bash_profileは、ログイン時だけに実行される設定ファイルだ。ここでは、環境変数の設定などが行われる(内容はディストリビューションによって異なる)。  .bashrcは、ログイン時に.bash_profileから読み込まれるという形
  • Windows 10 および Windows Server 2016 の更新履歴

    Windows 10 バージョン 1703 の更新プログラム Windows 10 は、サービスとして設計されています。つまり、定期的なソフトウェアの更新を通じて改善されます。 喜ばしいことに、何もする必要ありません!自動更新を有効にしている場合は、新しい更新プログラムが利用可能になった際に自動的にダウンロードされ、インストールされますので、何も考える必要ありません。 このページの左側に、このバージョンの Windows 用にリリースされたすべての更新プログラムの一覧が表示されています。リリースと既知の問題に関する詳細な情報もご確認いただけます。最新の更新プログラムをインストールすると、見逃していた可能性のある以前の更新プログラムもすべて取得されます。これには重要なセキュリティ更新プログラムも含まれます。 Windows 10 バージョン 1703 の現在の状態 Windows 10 バー

    U1and0
    U1and0 2016/08/11
    bash on Ubuntu on Windows http://qiita.com/Aruneko/items/c79810b0b015bebf30bb 使いたいのでWindows 10 Anniversary Update 行う
  • ConEmu 突っ込んだら Git for Windows の Git Bash がカッコよくなった

    Git for Windows の Git Bash の配色がイマイチだなーと思ってググってたら、Console2 だとか ConEmu を使うと楽にできるっぽいことが、Stack Overflow とか英語のブログで見つかった。 そこで、ConEmu を試してみたら色々と幸せになった (Console2 はそのままでは日語が使えなかった。解決方法はあるらしいけど…)。 左が Git Bash、右が ConEmu さん。 アンチエイリアス効いてるし、色もオサレ。 起動から色を設定するまで ConEmu を起動すると、初回は設定の保存場所などを確認される。お好みで答えて [OK] を押すと、タブ化した MS-DOS プロンプトみたいなのが立ち上がってくる。 [Win] + [N] を押すと新しいタブを開始できる。 上のキャプチャーのように、どんな環境のタブを開始するかをメニューで聞いてきて

    ConEmu 突っ込んだら Git for Windows の Git Bash がカッコよくなった
  • ConEmu | Cygwin Startup Directory

    U1and0
    U1and0 2016/02/20
    CHERE_INVOKINGはワーキングディレクトリを指定して立ち上げ。Cygwin will not do cd "${HOME}" if environment variable CHERE_INVOKING is defined. So, if you run your shell (bash) as following, shell will be started in proper working directory.
  • 1