タグ

shellに関するtakuma510のブックマーク (18)

  • 安全な一時ファイルの作成と削除の方法 - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog

    拡張 POSIX シェルスクリプト Advent Calendar 2013、6日目の記事です。 日のお題は「一時ファイルの作成と削除」ですが、 よくあるシェルスクリプトのダメ出しネタになってしまいました。 安全な一時ファイルの作成方法 たとえば、こんな感じのありがち(?)なスクリプトがあったとします。 意味のない処理内容ですが、雰囲気だけ察してください。 #!/bin/bash tmpfile=/tmp/words.tmp rm -f $tmpfile echo 'しにたい' >>$tmpfile echo 'とりあえずねよう' >>$tmpfile sleep 3 echo -n '今どんな気持ち? ' read feeling echo $feeling >>$tmpfile cat $tmpfile rm $tmpfile 全然駄目ですね。 もし「何にも問題ないじゃないか!」とい

  • Enhanced Shell Scripting with Ruby

    Introduction Ruby is a better Perl and in my opinion is an essential language for system administrators. If you are still writing scripts in Bash, I hope this inspires you to start integrating Ruby in to your shell scripts. I will show you how you can ease in to it and make the transition very smoothly. The idea with 'enhanced shell scripting' is to create hybrid Ruby/Bash scripts. The reason for

    Enhanced Shell Scripting with Ruby
  • Efficient data transfer through zero copy

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Efficient data transfer through zero copy
  • プログラマーの君! 騙されるな! シェルスクリプトはそう書いちゃ駄目だ!! という話 - Qiita

    記事が切っ掛けとなってお声がけを頂き、記事の増補リファイン版となる記事をSoftwareDesign 2018年1月号のシェルスクリプト特集第2章として執筆しました。リファイン版には、この記事で触れていない文法面での分かりにくさについての解説が含まれています。その文法面での分かりにくさの解説の一部に相当する記事もありますので、ぜひそちらも併せてご覧下さい。 Shell Script Advent Calendarをご覧の皆様、図々しくも5日目に続く2度目のエントリーのPiroです。 前回は自作のBashスクリプト製Twitterクライアントをネタに実装を解説しましたが、今日は他の言語で多少のプログラミング経験はあるんだけど、どうにもシェルスクリプトは苦手だ……という人のための、シェルスクリプトによるプログラミングの勘所を解説してみようと思います。多分、プログラミング入門レベルの人や上級

    プログラマーの君! 騙されるな! シェルスクリプトはそう書いちゃ駄目だ!! という話 - Qiita
  • sed の区切り文字 - Invalid signature

    URLリライティングのための/etc/apache2/sites-available/defaultの 修正が手動だったため、自動化するために新しくゲストを作ると sedがunknown option to `s'というメッセージを 出していた。 調べてみるとスラッシュをアットマークで置き換えてみろというアドバイスを 見つけた。 ただ、リファレンスページみたいなところではその事は一切触れて おられず、気持ち悪い。 調べを進めると納得出来る情報を見つけた。 sed コマンドは「s」の直後に指定した文字を区切り文字として認識する。 したがって、使用する区切り文字は "/" でなくともよい。 特に "/" 自体を置換対象とする場合は、"/" の代わりに "%" や "|" などを 区切り文字に使用すると、"/" をエスケープする必要がなくなる。 http://shellscript.sunone

    sed の区切り文字 - Invalid signature
  • bash によるオプション解析 - Qiita

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

    bash によるオプション解析 - Qiita
  • shとbashでの変数内の文字列置換など - ろば電子が詰まつてゐる

    シェルスクリプトで文字列を置換したい際、sedを使う手法が紹介されることが多い。が、実はsedなどの外部コマンドを使わなくても、以下のように変数展開をすることでシェル内部で文字列置換をすることができる。 ${変数名#パターン} → 前方一致でのマッチ部分削除(最短マッチ) ${変数名##パターン} → 前方一致でのマッチ部分削除(最長マッチ) ${変数名%パターン} → 後方一致でのマッチ部分削除(最短マッチ) ${変数名%%パターン} → 後方一致でのマッチ部分削除(最長マッチ) ${変数名/置換前文字列/置換後文字列} → 文字列置換(最初にマッチしたもののみ) ${変数名//置換前文字列/置換後文字列} → 文字列置換(マッチしたものすべて)この機能は記号で書かれるため非常にググりにくいことと、素のshでできること・bashでしかできないことが混在して書かれた記述も多いため、あまりネ

    shとbashでの変数内の文字列置換など - ろば電子が詰まつてゐる
  • Difference between .bashrc and .bash_profile

    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

    Difference between .bashrc and .bash_profile
  • シェルスクリプトモードのショートカットが便利過ぎるのでまとめてみた - I'm Just Another TeXnician.

    今更ながら、Emacs のシェルスクリプトモードについて、主に構文入力についてまとめてみます。 便利すぎて手に馴染みすぎて、もはや忘れていますorz でも手が覚えているので、順番に打ってまとめてみました(笑 [重要なこと]anything + auto-complete も有効にしておくと、編集が楽すぎます。 [重要なこと]anything + auto-complete も有効にしておくと、編集が楽すぎます。 大事なことなので、2 回書きました。 ちなみに、当方の環境は VineSeed Emacs 23.2, Vine Linux 5.1 Emacs 23.1 です。 シェル宣言:C-c : sh-set-shell 1行目の Shell: から決めます。 なんちゃら.shを作り始めたら、すぐに手が「C-c :」を動いてしまいます(笑 Shell (default /bin/bash)

    シェルスクリプトモードのショートカットが便利過ぎるのでまとめてみた - I'm Just Another TeXnician.
    takuma510
    takuma510 2012/11/11
    まさにexecutable-interpretの機能をさがしていた
  • awk v.s. bashどっちが強い?@OSC2011Tokyo

    OSC2011 Tokyo/Fallで、日gnu awkユーザー会の斉藤さんと行ったプレゼンテーションです。awkとbashの馴れ合い、もとい、共存共栄がテーマです。Read less

    awk v.s. bashどっちが強い?@OSC2011Tokyo
  • sed - ストリーミングエディタ

    [Linux] => [Linuxコマンド(R〜Z)] sedコマンドは置換などに使用されます。 [書式] sed オプション コマンド ファイル sed オプション -e コマンド1 -e コマンド2 ファイル sed オプション -f スクリプト ファイル [主なオプション] -e 次にくる因数はコマンドとみなす -f 次にくる因数はスクリプトとみなす -g 対象ファイル全体に適用する -i 上書きモード(拡張子がある場合はバックアップをとる) [主なコマンド] d 行削除 s s/パターン/置換/で指定するパターンに対して置換する g 最初のパターンだけでなく、すべて置換する w file 置換できたファイルをファイルfileに保存 y trコマンド同様の置換を行う [使用例] #word.txtの30行目までを表示

  • UNIX & Linux コマンド・シェルスクリプト リファレンス

    目次 当サイトについて bash シェルスクリプト入門 -シェルスクリプトのいろは- コマンド Tips シェルスクリプト Tips 変数を使用する 配列を使用する 入力と出力 if 文と test コマンド for 文の使用方法 while 文の使用方法 case 文の使用方法 関数の使用方法 引数を処理する 終了ステータス シグナルと trap コマンド フィルタを使用した文字列操作 1 フィルタを使用した文字列操作 2 日付を取得する 文字コードと改行コード シェルスクリプトのデバッグ AWK リファレンス (Deprecated) シェルスクリプト ライブラリ 『ether.sh』 お知らせ Bluesky を始めました @sunone.me 変更履歴 2023.10.07 ページ内リンクを修正した。 2021.02.01 このサイトに「もう 1 ページ追加しよう」と思ってから、も

    UNIX & Linux コマンド・シェルスクリプト リファレンス
    takuma510
    takuma510 2011/08/24
    きちんと書いてある
  • Linux Shell Scripting Tutorial - A Beginner's handbook

    Linux Shell Scripting Tutorial v1.05r3 A Beginner's handbook Copyright © 1999-2002 by Vivek G. Gite <vivek@nixcraft.com> (Formally know as vivek-tech.com) Table of Contents Chapter 1: Quick Introduction to Linux What Linux is? Who developed the Linux? How to get Linux? How to Install Linux Where I can use Linux? What Kernel Is? What is Linux Shell? How to use Shell What is Shell Script ? Why to Wr

    takuma510
    takuma510 2011/08/21
    ビギナーチュートリアル
  • シェルスクリプトとawkによるデータ解析

    シェルスクリプトとawkによるデータ解析 2006/01/10 筑波大学農林工学系 西田顕郎 はじめに テキスト形式の数値データの処理・解析には、awk+シェルスクリプトが最強である。誇張ではない。これまでエクセルやC言語、FORTRANなどしか知らなかった人には、ぜひawk+シェルスクリプトの世界を体験して欲しい。気象データなど、大量のテキスト形式数値データをいじる人には、人生の転換点と言えるほどの衝撃が待っている。 なお、awk+シェルスクリプトの使用環境は、当然ながらUNIXシェルである。Windowsユーザーは、Cygwinで擬似的にUNIXシェル環境を構築してください。 参考になるページ こことか こことか awkとは? awkは、テキストデータの1行づつに対して処理をする、プログラミング言語(スクリプト言語)である。コンパイルは必要ない。UNIXのコマンドラインの出力に、パイプ

    takuma510
    takuma510 2011/08/21
    ログファイルの解析とかに使えそう
  • シェルスクリプト入門 [サンプルスクリプト集]

    サンプルスクリプト集 共通関数を外部ファイルに作成する 各シェルスクリプトで共通に使用したい関数を外部ファイルに作成しておくと便利です。外部ファイルの読込は、各シェル内で「 . ファイル名 」と記述すれば外部ファイルに記述した関数を使用できます。外部ファイルに「変数」を定義しても同様に使用できます。以下は関数のサンプルです。 sample.fnc # --共通関数定義-- # ログ出力関数 LOG() { # ログ出力先 LOG_DIR=./ # 引数展開 FILENM=`basename $0` MSG=$1 # 変数定義 LOG_DATE=`date '+%Y-%m-%d'` LOG_TIME=`date '+%H:%M:%S'` LOGFILE="${LOG_DIR}${LOG_DATE}_`basename $0 .sh`.

  • Free Dynamic DNS(DDNS) by POP3,IMAP4,FTP,HTTP-BASIC for Home Server, VPS | MyDNS.JP

    www.uetyi.mydns.jp is not accessible... Sorry. I do not know why this site is not working. If you know Administrator of this site, please contact directly. You may be able to see it in Google cache. For administrator ... MyDNS.JP did not received IP address from you over One week. Please check your notify system. If you restart notification of IP address, MyDNS.JP will apply your IP address to DNS

    takuma510
    takuma510 2011/08/20
    edコマンド
  • Free Dynamic DNS(DDNS) by POP3,IMAP4,FTP,HTTP-BASIC for Home Server, VPS | MyDNS.JP

    www.uetyi.mydns.jp is not accessible... Sorry. I do not know why this site is not working. If you know Administrator of this site, please contact directly. You may be able to see it in Google cache. For administrator ... MyDNS.JP did not received IP address from you over One week. Please check your notify system. If you restart notification of IP address, MyDNS.JP will apply your IP address to DNS

    takuma510
    takuma510 2011/08/20
    シェルスクリプト内でテキストファイル編集。edとヒアドキュメントを使う。
  • Advanced Bash-Scripting Guide

    This tutorial assumes no previous knowledge of scripting or programming, yet progresses rapidly toward an intermediate/advanced level of instruction . . . all the while sneaking in little nuggets of UNIX® wisdom and lore. It serves as a textbook, a manual for self-study, and as a reference and source of knowledge on shell scripting techniques. The exercises and heavily-commented examples invite ac

  • 1