Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
aliasとシェル関数の違いについてのメモ。 たとえばgrepコマンドを常にロケール非依存にて扱い処理を高速化するにあたり、一見、次の二つの定義は同等に見える。 alias grep='LC_ALL=C grep --color=auto' grep() { LC_ALL=C command grep --color=auto "$@" } しかし、これらは実際は異なる。 具体的には、aliasはインタラクティブモードの場合のみ機能し、シェル関数は非インタラクティブモードにおいても参照される。 また、同名のシェル関数とエイリアスが存在する場合、まずエイリアスが展開された後、シェル関数が実行される。 したがって、常にコマンドそのものを置き換えたい場合はシェル関数、端末から実行した場合のみ置き換えたい場合はaliasを使うことが好ましい。 たとえば、grepにおいてロケールは常に無視したい、色
nixCraft → Tutorials → Linux → Awesome bash aliases for Linux and Unix users to increase productivity An bash shell alias is nothing but the shortcut to commands. The alias command allows the user to launch any command or group of commands (including options and filenames) by entering a single word. Use alias command to display a list of all defined aliases. You can add user-defined aliases to ~/.
cdの引数が相対パスのままコマンドヒストリに残って便利な例が思いつかないので、絶対パスでコマンドヒストリに残すようにする。 具体的には、以下のシェル関数を.bashrcに書く。 if [[ -n "$PS1" ]]; then cd() { command cd "$@" local s=$? if [[ ($s -eq 0) && (${#FUNCNAME[*]} -eq 1) ]]; then history -s cd $(printf "%q" "$PWD") fi return $s } fi いくつかの重要なポイントを以下に記す。 cdの定義を上書きしているが、このような場合中で普通にcdを呼ぶと再帰してしまうためcommand組み込みコマンドを使う。 "$@"の代わりに"$1"を使うことはできない。cdを引数なしで呼んだときホームディレクトリに移動しなくなってしまう。 cdの
naoya_itoの火を噴いたシェルtips - Togetter これを読んでふと書きたくなったので。ちなみに僕はbash使っています。 CTRLを使った便利系 まず、UNIXな操作あたり。 キーバインド 意味 CTRL + s キー入力を受け付けなくする 画面出力抑える CTRL + q 上記解除 CTRL + z バックグラウンドに. fgで戻る CTRL + l 画面をクリア。clearと同等 CTRL + c 現在の処理を停止 CTRL + d exitと同等 CTRL + r historyからコマンド検索 emacsっぽいやつ どっちかというとキー操作に近い。基本はemacs。metaは僕はoptionに割り当ててる。とりあえず触りたい人はESCでOK。 キーバインド 意味 CTRL + a 行頭 CTRL + e 行末 CTRL + f → CTRL + b ← CTRL
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く