タグ

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

タグの絞り込みを解除

shに関するyuhei_kagayaのブックマーク (14)

  • シェルスクリプトでトリムする - Qiita

    シェルスクリプトで標準入力から取り込んだテキストをfor ... in ... で回したい時などに、受け取ったテキストの先頭や末尾、あるいはデリミターに含まれている余計な空白を除去したい場合がありますが、今までは色々と苦労してsedやらawkやらtrを駆使して面倒な事をやっていたのですが、実はxargs一発で出来るという目から鱗w

    シェルスクリプトでトリムする - Qiita
    yuhei_kagaya
    yuhei_kagaya 2018/04/12
    べんり
  • Shell Scriptを書くときのテクニック10選 | κeenのHappy Hacκing Blog

    κeenです。LLで書かれた動作のもっさりしてるコマンドラインツールよりシェルスクリプトが好きです。 しかしシェルスクリプトを書く時にはハマり所も多いです。ということでハマりそうなところと対処法を共有しますね。 1. 変数は基クォート 変数には空白が入り得ます(特にパス名とか)。あるいは空である可能性もあります。

    Shell Scriptを書くときのテクニック10選 | κeenのHappy Hacκing Blog
  • 現在の shell を shellscript の中から確認する(Linux, BSD 両対応) - tkuchikiの日記

    現在の shell(以下、current shell) を確認する方法として真っ先に思い浮かぶのは以下だと思います。 $ echo $SHELL /bin/bash ただ、これは不正解で、$SHELL はあくまでも login shell ですので、 login shell と current shell が違う場合は正しい値を返してくれません。 私の場合ですと、ローカル環境で常時利用しているのは zsh ですが、 login shell は bash です(zsh を login shell にすると重いと教えていただいたことがあるので)。 このようなケースでも正しい値を返す方法が以下です。 $ echo $0 -zsh shell 上では $0 に current shell が格納されています。 これで解決すれば良いのですが、shellscript 内で確認しようと思うと話しは変わっ

    現在の shell を shellscript の中から確認する(Linux, BSD 両対応) - tkuchikiの日記
  • UNIXシェルスクリプトメモ(Hishidama's UNIX shell script Memo)

    -xを付けると実行内容を表示しながら実行する。[2008-11-29] bash -x スクリプトファイル -nを付けると、実行せずにファイル内の構文解析(エラーの有無のチェック)を行う。[2008-11-29] bash -n スクリプトファイル . スクリプトファイル 現在実行中のシェルと同じシェルを使ってスクリプトを実行する。 スクリプトの中で環境変数を設定した場合、現在のシェルの環境にも影響する (スクリプトの中で定義した環境変数が実行元でも有効になる)。 ファイルに実行権限(chmod +x)が付いている場合は、以下のようにして実行できる(相対パスで指定している)。 ./スクリプトファイル ファイルに実行権限(chmod +x)が付いており、かつ環境変数PATHにカレントディレクトリ「.」が含まれている場合は、以下のようにして実行できる。 スクリプトファイル シェルスクリプトの書

  • インフラエンジニヤが MySQL のメンテナンススクリプトを書く時とかに役立ちそうなこと - ようへいの日々精進XP

    はじめに どうも。自称インフラエンジニヤ*1のかっぱです。わたくしが MySQL のテーブルメンテナンスのシェルスクリプトを書いた際に役立ったことを幾つか書いてみることにします。 参考文献 C言語において、NULL と 0 と '\0' の違いは何ですか? C言語の基礎(5-3 main関数に引数を渡す) Coreutils - GNU core utilities GNU Where can I find source code for Linux core commands? シェルスクリプトで空文字列かどうか調べる。 3.5. バッチモードでの mysql の使用 MySQLをコマンドラインから直接実行&出力形式の変更方法 mysql --execute オプションでクエリを標準出力した際の出力結果を調整する インフラエンジニヤは mysql のコンソールにログインしてしまったら負け

    インフラエンジニヤが MySQL のメンテナンススクリプトを書く時とかに役立ちそうなこと - ようへいの日々精進XP
  • 日付を取得する | UNIX & Linux コマンド・シェルスクリプト リファレンス

    → -d 'N days ago' オプションで N 日前の日付を取得できる。 Linux では拡張された GNU date コマンドが使用できるので、簡単に過去の日付を取得できる。 $ date 2007年 6月 2日 土曜日 23:05:20 JST #↑そのまま実行すると当日の日時が表示される。 $ date -d '1 days ago' 2007年 6月 1日 金曜日 23:05:31 JST #↑1日前を指定すると、現在日時から24時間前の日時が表示される。 「GNU date」が使用できない場合 → 一時的に環境変数 TZ を変更した上で date コマンドを実行する。 古い UNIX マシンなどでは、「GNU date」が使用できない場合が多い。そういった環境では、一時的にタイムゾーンを変更して date コマンドを実行することで、過去の日付を取得することができる。 $ e

    日付を取得する | UNIX & Linux コマンド・シェルスクリプト リファレンス
    yuhei_kagaya
    yuhei_kagaya 2012/05/10
    date -d '-1 days' +%Y/%m/%d な感じで。
  • シェルリファレンス

    【標準入力】 read ---------------------------------------------------------------------- #!/bin/sh read timeofday echo $timeofday exit 0 ---------------------------------------------------------------------- 【条件】 test([ ])コマンド ---------------------------------------------------------------------- ファイル hoge の存在を確認する ex1) if test -f hoge then ... fi ex2) if [ -f hoge ] then ... fi ex3) if [ -f hoge ]; the

  • [shell] スクリプトをヒアドキュメントに書く - おもてなしの空間

    ●背景 P言語つかうようになって ~/bin の下に沢山スクリプトファイルを作ってしまってウザくなってきた。 そこで、小さなスクリプトプログラムは、シェルのヒアドキュメントの上に書いてしまうことにした。 これをスマートに行なうには、ヒアドキュメントをシェル変数に格納することが必要になる。 ● シェル変数にヒアドキュメントを代入する $ bar=`cat <<'EOF' > This is a pen. > That is a desk. > EOF > ` # そのままエコーすると改行が失なわれる $ echo $cat This is a pen.That is a desk. # ダブルクォートすると改行も再現される $ echo "$cat" This is a pen. That is a desk. ● ヒアドキュメント中に書いたスクリプトを実行する #!/usr/bin/env

    [shell] スクリプトをヒアドキュメントに書く - おもてなしの空間
    yuhei_kagaya
    yuhei_kagaya 2012/01/11
    ダブルクォートすると改行も再現される $ echo "$cat"
  • getoptによるロングオプション解析

    ロングオプション(--tmpdir /tmp みたいなやつ)が欲しいと思ったことはなかったのですが、この日書いていたスクリプトに、意味をよく理解して注意して指定して欲しいオプションを実装しようとしていて、そういう局面ではロングオプションを使うのがいいのでは?と思い至りました。 そこで、まずは練習として、前に書いたテンプレート(getoptを使う版)を拡張して、ロングオプションに対応してみました。 #!/bin/bash # # getopt-long-template.bash (use getopt utility) # export LANG=C usage_exit() { echo "Usage: getopt-long-template.bash [-a] [-d dir] [--extra] [--file f] item1 item2 ..." 1>&2 exit 1 } #

  • 引数を処理する | UNIX & Linux コマンド・シェルスクリプト リファレンス

    引数を処理する 引数とは? 引数 (ひきすう) とはコマンド (シェルスクリプト) 実行時に、コマンドラインから渡される値のことである。 引数は実行時にプログラム内で参照され、シェルスクリプトの実行結果 (動作) に影響を与える。引数はパラメータと呼ばれることもある。 → コマンド名に続けて引数としてコマンドに渡したい値のリストを指定する。 引数はコマンド名に続けてスペース区切りで指定する。引数として指定可能な値の数は各コマンドにより異なる。 【参考】 引数とオプション コマンド実行時に指定する値には引数とオプションがある。引数は実行に使用されるファイル名や出力されるメッセージなどを指定するのに使用される。 一方、オプションは -f などのように - (ハイフン) とアルファベット1文字で表記され、主にコマンドの振る舞い方を指定する目的で使用されるものである。 また、オプションは -a -

    引数を処理する | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • Shellでgetoptsを使ってコマンドライン引数の解析 | おいぬま日報

    Raycastを使い始めて1年経ったので、どういうことに使っているかを振り返ってみる。去年書いた AlfredからRaycastに移行した - oinume journal の記事から少し使い方が変わっているところもあるのでメモがてら。 基的な使い方 Cmd + QをRaycast起動のショートカットとして割り当てている。Pro版は使っていないのでAI機能などは使ったことがない。 ブラウザのブックマーク検索など、よく使うけどHotKeyを割り当てるほどでもないRaycastコマンドはbmのようにAliasを設定している。 Cmd + QでRaycastを起動してbmと入力するとブックマークの検索ができるので楽ちん アプリケーションランチャー機能 アプリケーションを起動するときのランチャーとして使っている。よく使うアプリにはHot Key(ショートカット)を割り当ててる。 Clipboar

    Shellでgetoptsを使ってコマンドライン引数の解析 | おいぬま日報
  • 入力と出力 | UNIX & Linux コマンド・シェルスクリプト リファレンス

    入力と出力 リダイレクションとパイプ コマンドの実行結果は通常、標準出力であるディスプレイに出力される。この実行結果はリダイレクション(>、>>)やパイプ(|)を使用することにより、ディスプレイではなくテキストファイルやコマンドに対して出力するように切り替えることができる。 また、リダイレクションはコマンドの出力先をテキストファイルに切り替える以外にも、これとは逆にコマンドへの入力元をテキストファイルに切り替えることもできる。 なお、リダイレクションとパイプは次のように使い分ける。 リダイレクション データを渡す対象がファイルである場合はリダイレクションを使用する。 パイプ データを渡す対象がコマンドである場合はパイプを使用する。 リダイレクション [>, », <] コマンドの出力を file へ上書きする → コマンドの実行結果の出力先を、ディスプレイからファイルへ切り替えたい場合は、

    入力と出力 | UNIX & Linux コマンド・シェルスクリプト リファレンス
  • シェルのパラメータ展開でスクリプト自身のファイル名を取得する

    Landscape トップページ | < 前の日 2006-02-24 2006-02-27 次の日 2006-02-28 > Landscape - エンジニアのメモ 2006-02-27 シェルのパラメータ展開でスクリプト自身のファイル名を取得する 当サイト内を Google 検索できます * シェルのパラメータ展開でスクリプト自身のファイル名を取得するこの記事の直リンクURL: Permlink | この記事が属するカテゴリ: [bash] [シェルスクリプト] 2006-02-22 に書いた「シェルスクリプト自身のファイル名を取得できる特殊変数 $0」についてメールで指摘を頂いた。ありがとうございます。 私はスラッシュなどのパス指定文字列を除去するために basename コマンドを使っていたのだが、そうしなくても済む方法があるとのこと。 http://sonic64.com/20

  • シェルスクリプトノウハウ - モノノフ日記

    昔の記事ですが、IBM DeveloperWorksで紹介されていたUnixコマンドをご紹介。たまに忘れるので備忘録用にまとめておきます。 参考リンク UNIX tips: Learn 10 good UNIX usage habits 1コマンドでディレクトリツリー生成 -pオプションを利用 $ mkdir -p tmp/a/b/c 中括弧を使えば複雑なツリーも1コマンドで $ mkdir -p project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a} もし、-pオプションが使えないのならmkdirhierコマンドを $ mkdirhier project/{lib/ext,bin,src,doc/{html,info,pdf},demo/stat/a} 展開するディレクトリの指定 $ tar xvf newarc.tar.gz

    シェルスクリプトノウハウ - モノノフ日記
  • 1