タグ

bashに関するChiseiのブックマーク (55)

  • チュートリアル - カスタムランタイムの公開 - AWS Lambda

    このチュートリアルでは、カスタムランタイムで Lambda 関数を使用します。まず、ランタイムを関数のデプロイパッケージに含めます。次に、それを関数とは別に管理するレイヤーに移行します。最後に、リソースベースのアクセス許可ポリシーを更新して、ランタイムレイヤーを世界と共有します。 前提条件 このチュートリアルでは、基的な Lambda オペレーションと Lambda コンソールについてある程度の知識があることを前提としています。初めての方は、コンソールで Lambda の関数の作成 の手順に従って最初の Lambda 関数を作成してください。 以下の手順を完了するには、「AWS Command Line Interface (AWS CLI) バージョン 2」が必要です。コマンドと予想される出力は、別々のブロックにリストされます。 aws-cli/2.0.57 Python/3.7.4

    Chisei
    Chisei 2021/10/29
  • 先程から騒ぎになっているbashの脆弱性について – 上田ブログ

    確認しました(苦笑) (追記: envを抜いてましたが、それだとCシェル系で確認できないので加えました) ueda@remote:~$ env x='() { :;}; echo vulnerable' bash -c 'echo this is a test' vulnerable this is a test 最初のワンライナーでなにがおこってるかというと、xの値であるはずの「() { :;}; echo vulnerable」の、echo vulnerableの部分がなぜか実行されています。 bashの文法ではシングルクォートで囲んだ中のものは何がどう書いてあっても単なる文字列であって、evalとかshとかに突っ込まない限り実行されるわけはないので、これは実装ミスかと。(と、書いたのですが環境変数に関数を仕込めるという仕様があるという話を初めて聞いて愕然と・・・。いま慌てて調べてます

    Chisei
    Chisei 2014/09/25
  • 「bash」シェルに重大な脆弱性、主要Linuxでパッチが公開

    脆弱性は多くの一般的な設定でネットワークを介して悪用できるとされ、特にbashがシステムシェルとして設定されている場合は危険が大きい。 LinuxなどのUNIX系OSで標準的に使われているシェル「bash」に極めて重大な脆弱性が見つかり、9月24日に修正パッチが公開された。攻撃者がbashにコマンドを送って任意のコードを実行できる可能性が指摘されており、米セキュリティ機関のSANS Internet Storm Centerなどはパッチ適用を急ぐよう呼び掛けている。 関係各社のアドバイザリーによると、bashで特定の細工を施した環境変数を処理する方法に脆弱性が存在する。悪用された場合、攻撃者が環境制限をかわしてシェルコマンドを実行できてしまう恐れがあり、特定のサービスやアプリケーションでは、リモートの攻撃者が認証を経ることなく環境変数を提供することも可能になる。 この脆弱性は、多くの一般的

    「bash」シェルに重大な脆弱性、主要Linuxでパッチが公開
    Chisei
    Chisei 2014/09/25
  • 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

    Chisei
    Chisei 2013/12/07
  • bash/zsh のパラメータ展開(#, %)の覚え方いろいろ - Qiita

    bash/zsh では パラメータ展開の # と %を使って Prefix または Suffix を削除することができます。 $ var='hogefuga' # Prefix削除 $ echo "${var#hoge}" fuga # Suffix削除 $ echo "${var%fuga}" hoge シェルスクリプトではよく使う手法ですが、意外と覚えづらく、特にどちらが Prefix削除 でどちらが Suffix削除 なのか忘れてしまいがちです。(私だけ? 先日そんな悩みを Twitter で吐露したところ、3名の親切な方が覚え方を伝授してくれました。 その覚え方がなかなかユニークで覚えやすかったので紹介します。 # はコメントを表す記号なので Prefix(先頭)削除 # を番号記号と考えて #30 のように使うので Prefix(先頭)削除 % はパーセンテージを表す記号で、30

    bash/zsh のパラメータ展開(#, %)の覚え方いろいろ - Qiita
    Chisei
    Chisei 2013/12/05
    なるほどー
  • Man page of BASH

    Section: User Commands (1) Updated: 2010 December 28 Index JM Home Page roff page 名前 bash - GNU Bourne-Again SHell 書式 bash [options] [file] 著作権 Bash is Copyright (C) 1989-2011 by the Free Software Foundation, Inc. 説明 bash は、標準入力やファイルから読み込んだコマンドを実行する、 sh 互換のコマンド言語インタプリタです。 bash には、Korn シェルや C シェル (ksh や csh) の便利な機能も採り入れられています。 bash は IEEE POSIX specification (IEEE Standard 1003.1) の Shell and Utili

    Chisei
    Chisei 2013/11/22
    bashの起動オプションは$SHELLOPTSに格納されている
  • シェルでバックグラウンドで起動したプロセスの戻り値を取得するには - まじかんと雑記

    Bashでバックグラウンドで起動したアプリの戻り値の取得 - Linux Square 検索すればすぐ見つかるんじゃないのかと思ったが意外にも出てこない。あまり知られていない機能なので仕方がないかも。 で、どうやればよいかというと、こうする。 foo 1 & foo1pid=$! foo 2 & foo2pid=$! foo 3 & foo3pid=$! wait $foo1pid echo $? wait $foo2pid echo $? wait $foo3pid echo $? 変数 $! には最後に起動した非同期リスト (バックグラウンドプロセス) のプロセス ID が入っている。これは別の非同期リストを起動すると上書きされてしまうので、非同期リストを一つ起動するたびに個別の変数に保存しておく。 非同期リストの終了ステータス (戻り値) を得るには、保存しておいたプロセス ID を

    シェルでバックグラウンドで起動したプロセスの戻り値を取得するには - まじかんと雑記
    Chisei
    Chisei 2013/06/25
    おー
  • 20130622第5回シェル芸勉強会スライド

    「はじめよう、シェル芸」オープンキャンプin南島原2020/OpenCamp in Minami-shimabara onlineHisatoshi Onishi

    20130622第5回シェル芸勉強会スライド
    Chisei
    Chisei 2013/06/23
    ムズ過ぎる。
  • Maximum number of Bash arguments != max num cp arguments?

    I have recently been copying and moving a large number of files (~400,000). I know that there are limitations on the number of arguments that can be expanded on the Bash command line, so I have been using xargs to limit the numbers produced. Out of curiosity, I wondered what the maximum number of arguments that I could use was, and I found this post saying that it was system-dependant, and that I

    Maximum number of Bash arguments != max num cp arguments?
    Chisei
    Chisei 2013/06/19
    MAX_ARG_STRLENとかlinux/binfmts.hあたり
  • bashによるシェルスクリプトの小技(2) - shibainu55日記

    前回(bashによるシェルスクリプトの小技(1))に引き続き、シェルによって自動的に値が設定される特殊な変数について紹介する。特殊な変数を参照することにより、様々な情報を取得することができる(ただし、これらの変数には自分で任意の値を設定することはできない)。 さて、まずは特殊変数を一覧でまとめてみる。お馴染みのものが多いが、最後の2つ(特に最後のPIPESTATUS)についてはきっと今まで知らなかった人もいるんじゃないだろうか。シェルの中でパイプすると途中のコマンドのリターンコード、拾えないとか思っていませんか?今回のポイントとしては、「1. PIPESTATUS変数について」と「2. 特殊変数 $@と$*の違いについて」の2点を主に説明する。 特殊変数一覧表 変数名 自動的に設定される値 $? 直前に実行されたコマンドの終了ステータスが設定される変数。正常終了の場合は「0」、異常終了の場

    bashによるシェルスクリプトの小技(2) - shibainu55日記
    Chisei
    Chisei 2013/06/10
  • Jenkinsのシェルの実行について - Qiita

    で実行される(コンソール出力にも出てる) オプション-x:シェルスクリプト内で実際に実行されたコマンドを表示する オプション-e:0でない終了コードを返した時点でスクリプトがexitする 「シェルの実行」のシェルのオプションのカスタマイズについて 「シェルの実行」で先頭に以下のように記述しておくとオプションを付けない状態で実行出来る

    Jenkinsのシェルの実行について - Qiita
    Chisei
    Chisei 2013/06/10
    なるほど。参考になった。#!/bin/bashと書いて最終行にexit 0と書くと終了ステータスを無視してシェルを実行させることに成功した。
  • 終了ステータス - UNIX & Linux コマンド・シェルスクリプト リファレンス

    終了ステータス 終了ステータスとは? コマンド終了時には「終了ステータス (exit-status)」と呼ばれるコマンドの成否を表す数値が特殊変数 $? に自動で設定される。 各コマンドにより異なるが、一般的には、 コマンド成功時には「0」 失敗時には「1」(コマンドやエラーの種類によっては 0 以外) が設定される。 → 直前に実行したコマンドの成否は、特殊変数 $? に設定されている値で確認する。 終了ステータスを設定 シェルスクリプトでは exit コマンドに指定したパラメータ (0 もしくは 1 ~ 255 の正の整数値のみ可) が、そのシェルの終了ステータスとなる。シェルスクリプトにおいても正常終了時は exit 0 で、異常終了時には exit 1 で終了するようにするのが慣例である。 関数も同様に return コマンドに指定したパラメータが終了ステータスとなる。 → シェル

    終了ステータス - UNIX & Linux コマンド・シェルスクリプト リファレンス
    Chisei
    Chisei 2013/06/10
    『 exit コマンドは省略可能であるが、省略された場合はシェルスクリプト内で最後に実行されたコマンドの終了ステータスが、そのシェルスクリプトの終了ステータスとなる。』
  • [linux][bash] これぐらい書いとかないと仕事にならない .bashrc 記述例 | バシャログ。

    梅雨明けまだですか〜!?どうもこんにちは nakamura です。 みなさん新しく Linux サーバをセットアップする際にまず最初にする事ってなんでしょう?僕はいつも .bashrc を自分の使い慣れた設定のものに置き換える事から始めます。これをしておかないとパスが通ってなかったり、コマンドのデフォルトの動作が違ったり何かとやりづらいんですね。てなわけで今日は僕の .bashrc をちょっとだけ晒してみます。 とりあえずこんな感じ だいたいいつも以下のような感じです。 # ctrl+s で出力がロックされてしまうのを防ぐ stty stop undef # よく使うエイリアスやら各コマンドのデフォルトのオプションを設定 alias ls='ls -CF' alias ll='ls -AlFh --show-control-chars --color=auto' alias la='ls

    [linux][bash] これぐらい書いとかないと仕事にならない .bashrc 記述例 | バシャログ。
    Chisei
    Chisei 2013/04/23
    知らなかった→ stty stop undef
  • 私みたいなおっちょこちょいを自滅から救って来たちょいとした工夫x3+1 : 404 Blog Not Found

    2013年04月13日01:30 カテゴリTipsiTech 私みたいなおっちょこちょいを自滅から救って来たちょいとした工夫x3+1 bashクックブック ぎゃああぁぁぁ 僕がMacのホームディレクトリを削除するに至った経緯と、復元するまでの道のり | CreativeStyle 具体的に何をしたのか。それは、以下のコマンドの実行です。 $ rm -rf ~/ でもこれ、すごいやりがち。 やりがちなのになんでそれよりおっちょこちょいなはずな私がもう30年近くものあいだ難を逃れているかを披露しておくことにする。 以下、それぞれtcsh版とbash版を。zsh版はどなたかよろしく。 alias 上記の例は、実はこれだけで防ぐことが出来ていた。 tcsh alias rm 'rm -i' bash alias rm='rm -i' 要するに、rmと打ったらrm -iを意味するようにしておくわけだ

    私みたいなおっちょこちょいを自滅から救って来たちょいとした工夫x3+1 : 404 Blog Not Found
    Chisei
    Chisei 2013/04/13
    やはりbashかわいい。また奥が深い症候群に陥ってしまうわ
  • bashのプロンプトに色をつける | ブーログ

    bashのプロンプトは環境変数のPS1を変えればいい。ここではちょっと特殊な色をつける方法。 色をつけるにはANSI エスケープシーケンスを使う。エスケープシーケンスを使う場合は、\[ と \]で囲ってその中に書く。エスケープシーケンスで色をつけるには、ESC[値;値m]の形で記述する。ここでESCはオクタルに直して\033になる。値のところは以下の様になる。(参考) Foreground colors 30 Black 31 Red 32 Green 33 Yellow 34 Blue 35 Magenta 36 Cyan 37 White Background colors 40 Black 41 Red 42 Green 43 Yellow 44 Blue 45 Magenta 46 Cyan 47 White 実験。プロンプトを赤のAAAにする。 $

    Chisei
    Chisei 2013/04/11
  • bash,dash,zshのreadコマンドと「while read line」のような行ごとの読み込み処理について跡地 - 試験運用中なLinux備忘録・旧記事

    (2021/9/29)記事は「bash,dash,zshのreadコマンドと行ごとの読み込み処理(while read)」へ移動した。

    bash,dash,zshのreadコマンドと「while read line」のような行ごとの読み込み処理について跡地 - 試験運用中なLinux備忘録・旧記事
    Chisei
    Chisei 2013/04/11
    done < fileでいけた。
  • 常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream (legacy)

    TwitterのTLで知ったのだが、少し前に海外掲示板で"sleep sort"というソートアルゴリズムが発明され、公開されたようだ。このアルゴリズムが面白かったので紹介してみる。 Genius sorting algorithm: Sleep sort 1 Name: Anonymous : 2011-01-20 12:22 諸君!オレは天才かもしれない。このソートアルゴリズムをみてくれ。こいつをどう思う? #!/bin/bash function f() { sleep "$1" echo "$1" } while [ -n "$1" ] do f "$1" & shift done wait example usage: ./sleepsort.bash 5 3 6 3 6 3 1 4 7 2 Name: Anonymous : 2011-01-20 12:27 >>1 なん…だと

    常識を覆すソートアルゴリズム!その名も"sleep sort"! - Islands in the byte stream (legacy)
  • フィルタを使用した文字列操作 2 | UNIX & Linux コマンド・シェルスクリプト リファレンス

    フィルタを使用した文字列操作 2 cut コマンドを使用したフィルタリング 特定のフィールドを切り出す テキストファイルなどから n フィールド目を切り出す、n-m フィールド目を切り出す、といった処理には cut コマンドを使用する。 # numフィールド目を切り出す。 cut -d'デリミタ' -fnum # num1フィールド目とnum2フィールド目を切り出す。 cut -d'デリミタ' -fnum1,num2 # num1-num2フィールド目を切り出す。 cut -d'デリミタ' -fnum1-num2 → cut コマンドの -d オプションで特定のフィールドを切り出す。 cut コマンドにフィールド間の区切り文字となるデリミタと切り出すフィールド番号を指定することで、指定したデリミタによって区切られた特定のフィールドを切り出すことができる。 デリミタを指定しない場合は、デフォ

    フィルタを使用した文字列操作 2 | UNIX & Linux コマンド・シェルスクリプト リファレンス
    Chisei
    Chisei 2013/02/20
    cut -cが便利すぎた。
  • 入力と出力 | UNIX & Linux コマンド・シェルスクリプト リファレンス

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

    入力と出力 | UNIX & Linux コマンド・シェルスクリプト リファレンス
    Chisei
    Chisei 2012/09/20
    リダイレクトで制御コードを含める場合は定義した終了文字列をシングルクォートで囲むこと
  • 引数を処理する | UNIX & Linux コマンド・シェルスクリプト リファレンス

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

    引数を処理する | UNIX & Linux コマンド・シェルスクリプト リファレンス
    Chisei
    Chisei 2012/09/06
    getopts