タグ

TipsとShellに関するrydotのブックマーク (8)

  • シェルスクリプトの処理境界が鮮明になる「名前付きブロック記法」なるものを考えてみた

    シェルスクリプトは長くなると処理の境界が不鮮明になりがち。 コメントで処理の境界を表現する工夫はよく見かけるが、もっと良い方法はないか考えてみた。 :コマンド、&&演算子、複合コマンド()や{}を組み合わせて書くと、処理の境界線がはっきりする。

    シェルスクリプトの処理境界が鮮明になる「名前付きブロック記法」なるものを考えてみた
  • 何もしない組み込みコマンド ":" (コロン)の使い道

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

    何もしない組み込みコマンド ":" (コロン)の使い道
  • そのシェルスクリプトもうちょっとシンプルに書けそう Tips集(Golf/シェル芸ではない) - Qiita

    Shell Script Advent Calendar 2015 4日目 の投稿です。 以前から自分用にメモしていたものを文字起こししました。 はじめに 仕事でシェルを使い始めて3年くらい経ちました。 途中、pythonruby でスクリプト作ったり、ちょっと zsh に浮気したりしましたが、なんだかんだで今も Bash を使うことが多いです。 この3年間、スーパーシェル芸人(@ebanさん)にご教授頂いたり、Golfしたり(@ebanの影響)、シェル芸勉強会に参加したり(@ebanの影響)してきました。 そんな3年間のまとめとして、シェルスクリプト初めましてだった3年前の私に向けたTips集を書いてみました。 趣旨 各項目ごとに、まず初心者(過去の私がやってた)あるある実装を例示して、その次に、より良さげな実装を例示する構成としています。 実行環境 OS Mac OS X Yos

    そのシェルスクリプトもうちょっとシンプルに書けそう Tips集(Golf/シェル芸ではない) - Qiita
  • 検索ではあんまり出ないbashの便利技 - Qiita

    bashでは記号類をたくさん使うので、この書き方は何?と思っても検索でなかなか出てこないことがあると思う。 そこで知っていると便利なコマンドを残しておく。 随時追記予定。 確認に使用したbashのバージョンは以下のとおり。

    検索ではあんまり出ないbashの便利技 - Qiita
  • よく使う 9 つの便利なシェル芸 - Qiita

    Help us understand the problem. What are the problem?

    よく使う 9 つの便利なシェル芸 - Qiita
  • ターミナルのディレクトリ移動を高速化する - Qiita

    tl;dr よく使われるコマンドの一つに cd コマンドがあります。ターミナル生活の 80% 近くは cd と ls である、という英文記事を何処かで見かけました。それを効率化しようという Tips です。 目的 cd はよく使われるのに使い勝手が悪いコマンドである気がしてなりません。cd コマンドは有効なパス(相対パス、絶対パスは問わず)しか解釈してくれないからです。つまり、存在していて尚且つパスが解決できるものに限るのです。例えば、ホームディレクトリにいるときに、/home/lisa/work/dir に行こうとして cd dir とだけタイプしても no such file or directory (そんなディレクトリは見当たらないよ!)と言われてしまいます。きちんとした経路でなければならないのです。いちいちパスを覚えていない場合や、部分的にしか思い出せない場合には結構面倒ですよね

    ターミナルのディレクトリ移動を高速化する - Qiita
  • シェルスクリプトを書くときに気をつける9箇条 - Qiita

    最新の類似投稿としてシェルスクリプトのコーディングルール2014も併せてどうぞ。 2014/10/09追記 ぼくがシェルスクリプトを書くときに気にしていること、過去の失敗で書き留めたことを忘れないために。 1. グローバル変数は大文字 PATH や HOME など、環境変数が大文字なので、エクスポートする変数を大文字で書くという習慣は一般的であるような気がしますが、エクスポートする変数を抱えるシェルスクリプトを作成する機会が稀なので。 グローバル変数は大文字 ローカル変数は小文字 エクスポートする変数も大文字 関数内からグローバル変数にアクセスする場合がありますが、やはり区別していると、可読性が増すような気がするのでお勧めです。 2. awk を知る Unix 上にて文書処理をするときに、数多くのフィルタコマンド(grep、cut、tr、head、sort、uniq、sed、awk、wc、

    シェルスクリプトを書くときに気をつける9箇条 - Qiita
  • cmd.exe のコマンドラインの仕様を解析してみた - 永遠に未完成

    cmd.exe の引数の扱いがあまりにもカオスだったのでちょっと頑張って調べてみた。 来ならここは公式の資料に当たるのが正しいアプローチだと思うけど、どうしても公式の資料が見つからなかったので、色々試して推測してみることに。 断片的な資料は見付けたけど、完全じゃない。一応URL貼っておく。Windows Server 2003 のヘルプだけど、恐らくそんなに変わらないと思う。 コマンド シェルの概要 コマンド リダイレクト演算子を使用する なので、以下で述べる内容は間違いを含む可能性があります。というか正確さは一切保証されないのであしからず。 検証方法 以下のような引数をただ表示するだけの簡単な C のプログラムを用意した。仮に args.exe とでもしておく。 #include <stdio.h> int main(int argc, char const* argv[]) { in

    cmd.exe のコマンドラインの仕様を解析してみた - 永遠に未完成
  • 1