Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

3/21 22時頃: 質問編へのリンクを撤去し、タイトルを変更しました。(元のタイトルは「【謎】本当にあったfindコマンドの怖い話【未解決→解決済み】」) 要約 100万個のファイルに対して、find コマンドから始めて mv コマンドでファイル名を変更するワンライナーを実行すると、 mv コマンドが約158万回実行されました。 背景 これは、Software Design 2018年4月号 Software Design 2018年4月号 の「シェル芸人からの挑戦状」の記事執筆中に遭遇した不思議な現象です。1 初めはコラムに書こうとしていたのですが、結局原因がわからず、解説が書けなかったために紙面からは外すことにしました。 流石に結論が「わかりませんでした」で雑誌には載せられないので……。 現象自体は面白かったため、代わりに個人のブログの方に書くことで共有します。 (掲載の許可は頂いて
はじめに LinuxでCtrl-C打ったらコマンドが中断されるとか。皆さんご存知ですよね。こういうことに関連したちょっとした四択クイズです。Linux使い各位、当然、全問正解できますよね? 問題 いずれもPuTTYなりTeraTermなりのターミナルソフトでLinuxマシンにSSHで接続した、ログインシェル上での対話操作の上でのお話です。ターミナルソフトなんかは特に設定をいじらないことにします。一応。それと、シェルは大体なんでも同じだと思うのですが、念のためbashと指定しておきます。 Q1: シグナル送ったのは誰? 「はじめに」でも書きましたが、Ctrl-Cを入力すると、実行中のコマンドを停止させることができますね。例えば次のように。
シェルスクリプトで文字列を置換したい際、sedを使う手法が紹介されることが多い。が、実はsedなどの外部コマンドを使わなくても、以下のように変数展開をすることでシェル内部で文字列置換をすることができる。 ${変数名#パターン} → 前方一致でのマッチ部分削除(最短マッチ) ${変数名##パターン} → 前方一致でのマッチ部分削除(最長マッチ) ${変数名%パターン} → 後方一致でのマッチ部分削除(最短マッチ) ${変数名%%パターン} → 後方一致でのマッチ部分削除(最長マッチ) ${変数名/置換前文字列/置換後文字列} → 文字列置換(最初にマッチしたもののみ) ${変数名//置換前文字列/置換後文字列} → 文字列置換(マッチしたものすべて)この機能は記号で書かれるため非常にググりにくいことと、素のshでできること・bashでしかできないことが混在して書かれた記述も多いため、あまりネ
κeenです。雰囲気でシェルを使ってる人が多いとのことだったので少しばかり込み入った知識を。 あと一応POSIX準拠かどうかも気にしながらやっていきます。 基礎知識編 シェルの種類 まず、POSIXにシェルが定義されています。 これに最低限の機能で準拠しているものをPOSIXシェルと呼ぶことにします。いわゆる/bin/shです。具体的な実装はbsh、ash、dashあたりでしょうか。 最低限の機能以上に色々拡張されているシェルを拡張POSIXシェルと呼ぶことにします。具体的な実装はbash、zsh、kshなどでしょうか。 ここでは触れませんがPOSIX準拠でないシェルも存在してcshやtcshなどのシェルがあります。あと確か最近話題のfishも違ったような。 さて、1つ問題になるのは普段使いのコマンドラインはおおむね拡張POSIXシェルでしょうが、サーバで使うシェルやデプロイスクリプトで呼
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? シェルスクリプトは、Unix 系環境で仕事をするエンジニアなら誰もが一度は書くであろうにもかかわらず、書き方や特性を熟知している人が少ない言語です。この記事は、シェルスクリプトを書くときに罠を踏まないようにするために最低限あなたが気を付けるべき tips 集です。「たかがシェルスクリプト」とは思わないでください。生半可に書かれたシェルスクリプトはあなたの (チームの) 生産性をかえって低下させます。 Shebang に bash を明示しろ Bash でしか使えない機能のことを俗に Bashism と言います。Bashism はもちろん
Shell Script Advent Calendar 2015 4日目 の投稿です。 以前から自分用にメモしていたものを文字起こししました。 はじめに 仕事でシェルを使い始めて3年くらい経ちました。 途中、python や ruby でスクリプト作ったり、ちょっと zsh に浮気したりしましたが、なんだかんだで今も Bash を使うことが多いです。 この3年間、スーパーシェル芸人(@ebanさん)にご教授頂いたり、Golfしたり(@ebanの影響)、シェル芸勉強会に参加したり(@ebanの影響)してきました。 そんな3年間のまとめとして、シェルスクリプト初めましてだった3年前の私に向けたTips集を書いてみました。 趣旨 各項目ごとに、まず初心者(過去の私がやってた)あるある実装を例示して、その次に、より良さげな実装を例示する構成としています。 実行環境 OS Mac OS X Yos
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ページを開く