タグ

shellに関するgogatsu26のブックマーク (155)

  • 旧・Macの手書き説明書 - FC2 BLOG パスワード認証

    ブログ パスワード認証 閲覧するには管理人が設定した パスワードの入力が必要です。 管理人からのメッセージ https://mac-tegaki.comへ移転中 閲覧パスワード Copyright © since 1999 FC2 inc. All Rights Reserved.

  • bash スクリプトの先頭によく書く記述のおさらい - Money Forward Developers Blog

    こんにちは。 マネーフォワードでアグリゲーション開発を担当しています中川です。 今回のブログは、私が bash スクリプトを書く際に心がけている事のおさらいをします。 知ってて当たり前のことかも知れませんが、意外と理解されていないアレです。 では、私が bash スクリプトを書く際によく使う記述を一つずつ紹介します。 2種類の shebang シェルスクリプトの一行目に必ず記述する #! で始まる行を shebang と言います。 bash スクリプトの shebang は、bash を絶対パスで指定する方法と、env を使って指定する方法の二種類あります。 bash を絶対パスを指定する方法 #!/bin/bash env を使ってを指定する方法 #!/usr/bin/env bash 前者は /bin/bash が使われます。 (/bin/bash が存在しなければスクリプトの起動時に

    bash スクリプトの先頭によく書く記述のおさらい - Money Forward Developers Blog
  • Linux起動時に読みこむスクリプト、環境変数について | サーバ管理者の覚書

    もうろくして、基を忘れたのでメモメモ。 シェルがbashの場合。 /etc/profile ログインしてまず読み込む。ユーザ全体向けの環境変数を設定。 /etc/profile.d/ /etc/profileのスクリプトにより/etc/profile.d/の下にあるスクリプトが実行される。 ~/.bash_profile 個別ユーザ向けの環境変数を設定する。 ~/.bashrc ~/.bash_profileのスクリプトによって実行されるエイリアスなどシェルの基設定。 /etc/bashrc ~/.bashrc のスクリプトによって実行される全ユーザ向けの設定。 Linux起動の仕組みを理解しよう[init/inittab] ここもしっかり理解しておきたいですね。!! わかりやすい説明に感謝です。

  • [D] Windowsはターミナルがダメだから使えないってのは過去の話?

    気づいたら自宅でもオフィスでもすっかりWindowsユーザーになっちゃって、Win10情報にも一喜一憂してるという、完璧なる転びマカーぶりを発揮してるドリキンです。 基的にWinである不便もほとんどなくなってしまった(というかむしろ快適に感じる)今日この頃なんですが、唯一にして最大とも言えるWindowsの弱点はいうまでもなくまともなターミナルコンソールがないことですよね? とはいえ、最近はコンソールではNodeJSだけが動けばいいやという状態だったので、コマンドプロンプトでごまかしたりはしてたんですが、流石にコマンド履歴どころかコピペすらまともに出来ないのはどうかなと一念発起してWindowsでZshくらいは使えないかなとググってみたらよさげなモノを発見! Babun | A windows shell you will love! それがBabunというWindows用のターミナルア

    [D] Windowsはターミナルがダメだから使えないってのは過去の話?
  • ターミナルの操作ログを自動で残したい

    プロセスアカウンティング用に広く利用できる物として "Process Accounting Utility" があります。環境によって、パッケージの名前が、 psacct もしくは acct になっているものです。 $ # インストール (ubuntu) $ apt-get install acct 用意されているコマンド lastcomm: 実行されたコマンドの表示 ac : ユーザの接続時間の表示 sa: 過去に実行されたコマンドの集計/フィルタ ※ 質問の要件を満たすために、一般ユーザーからはこれらのコマンドが実行できないようにしてください。 アカウンティングサービスの実行 $ # サービスの開始 $ /etc/init.d/acct start $ # サービスの停止 $ /etc/init.d/acct stop 実際は、accton コマンドによってプロセス監視が始められます。

    ターミナルの操作ログを自動で残したい
  • シェルで変数のインクリメントに expr を使うと100倍遅い件

    シェルプログラミングにおいて、ループカウンタなどをインクリメントするとき、どのようにしますか? いきなりですがサンプルから。 #!/bin/bash COUNT=0 while [ $COUNT -lt 1000 ]; do # 何かの処理 COUNT=`expr $COUNT + 1` # COUNT をインクリメント done expr コマンドを使う? シェルプログラミングの入門記事などを見ると、変数のインクリメントに上記のような COUNT=`expr $COUNT + 1` を用いているものが多くあります。 しかし、この書き方は とても遅い です。空のループを1000回繰り返すだけでも手元の mac (Core i7) で約2秒もかかってしまいました。

    シェルで変数のインクリメントに expr を使うと100倍遅い件
  • zshの外部プラグインまとめ - Qiita

    zshは標準の機能を使うだけでも便利だけど、それでも足りないときはいろいろなプラグインを追加して拡張できる。でも、プラグイン一覧はどこかにまとまっているわけではない。特に、zsh体に標準で含まれているプラグインはman zshcontribを見ればわかるけど、それ以外のユーザが独自に作ったプラグインはGoogle検索とかで地道に探すしかない。 そこで、zshで使用できる標準で含まれていないプラグインをまとめて紹介する。これを参考にして、zshをもっと便利にしてください! ディレクトリ移動 名前 概要 参考記事

    zshの外部プラグインまとめ - Qiita
  • cdの引数を絶対パスにしてコマンドヒストリに残す - ももいろテクノロジー

    cdの引数が相対パスのままコマンドヒストリに残って便利な例が思いつかないので、絶対パスでコマンドヒストリに残すようにする。 具体的には、以下のシェル関数を.bashrcに書く。 if [[ -n "$PS1" ]]; then cd() { command cd "$@" local s=$? if [[ ($s -eq 0) && (${#FUNCNAME[*]} -eq 1) ]]; then history -s cd $(printf "%q" "$PWD") fi return $s } fi いくつかの重要なポイントを以下に記す。 cdの定義を上書きしているが、このような場合中で普通にcdを呼ぶと再帰してしまうためcommand組み込みコマンドを使う。 "$@"の代わりに"$1"を使うことはできない。cdを引数なしで呼んだときホームディレクトリに移動しなくなってしまう。 cdの

    cdの引数を絶対パスにしてコマンドヒストリに残す - ももいろテクノロジー
  • bash の脆弱性 "Shell Shock" のめっちゃ細かい話 (CVE-2014-6271) - もろず blog

    ※(2014/10/1 追記) 脆弱性の番号を誤って CVE-2014-6721 と表記してしまっていました 正しくは "CVE-2014-6271" です 失礼致しました ※(2014/10/7 追記) 2014/10/7 14:00時点で Shell Shock への修正パッチは6個 公開されています 既に対応済みのシステムでもパッチの漏れがないか注意してください シェルに脆弱性が見つかったらしいです このコマンドを実行すると脆弱性があるバージョンかのチェックができるようです $ env x='() { :;}; echo vulnerable' bash -c "echo this is a test" 以下のように表示されたらアウトです vulnerable this is a test どうやら、このコマンドが正常に実行できるというのがこの脆弱性の正体らしく、 echo vuln

    bash の脆弱性 "Shell Shock" のめっちゃ細かい話 (CVE-2014-6271) - もろず blog
  • 「bash」シェルに重大な脆弱性、主要Linuxでパッチが公開

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

    「bash」シェルに重大な脆弱性、主要Linuxでパッチが公開
  • UNIXとLinuxの「Bash」シェルに重大なセキュリティホール

    Steven J. Vaughan-Nichols (Special to ZDNET.com) 翻訳校正: 編集部 2014-09-25 11:10 多くのUNIXおよびLinuxのユーザーに利用されている「Bourne Again SHell(Bash)」に重大なセキュリティホールが発見された。このセキュリティホールはBashによる環境変数の評価方法に起因している。ハッカーは特別に作成した変数を用いてセキュリティホールを突き、シェルコマンドを実行できる。これによりサーバはさらなる格的な攻撃に対して脆弱な状態となる。 数ある他のセキュリティホールと同様に、今回のセキュリティホールも悪用するには高レベルのアクセス権が必要だ。しかしRed Hatのセキュリティチームによると、ハッカーは特定のサービスやアプリケーションを経由することで、認証なしにリモートから環境変数を入力し、セキュリティホー

    UNIXとLinuxの「Bash」シェルに重大なセキュリティホール
  • Bash specially-crafted environment variables code injection attack

    This article was originally published on the Red Hat Customer Portal. The information may no longer be current. Update 2014-09-30 19:30 UTC Questions have arisen around whether Red Hat products are vulnerable to CVE-2014-6277 and CVE-2014-6278.  We have determined that RHSA-2014:1306, RHSA-2014:1311, and RHSA-2014:1312 successfully mitigate the vulnerability and no additional actions need to be ta

    Bash specially-crafted environment variables code injection attack
  • 先程から騒ぎになっている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とかに突っ込まない限り実行されるわけはないので、これは実装ミスかと。(と、書いたのですが環境変数に関数を仕込めるという仕様があるという話を初めて聞いて愕然と・・・。いま慌てて調べてます

  • pecoの基礎の基礎 - Qiita

    「pecoってツールらしきものが流行っている」と思いつつ、導入とか難しそうと思って後回しにしていたんですが、気がついたら自分の手元のbash設定ファイルにpecoを使う関数が定義されていたので、改めて初歩からやってみました。 説明に使用しているシェルはお馴染みのbashです。 pecoとは GitHubのpecoのサイト とてもシンプルなツールで 「標準入力から受けた行データをインクリメンタルサーチして、選択した行を標準出力に返す」 コマンドです。 シンプルゆえに様々な組み合わせで効果を発揮します。あらゆる場面での選択肢を標準入力に渡して、選択された結果を標準出力から受け取って加工してコマンド実行をする、というのが基的な流れ。 説明じゃ伝わらないので実例を体験したほうが早いかも。 peco のインストール pecoで検索すると「pecoはGoでできている」とか出てきて「Goってなんぞや」

    pecoの基礎の基礎 - Qiita
  • 複数のAndroid端末を同時につないで困ってませんか?それadb-pecoで選択できるよ! - クックパッド開発者ブログ

    モバイルファースト室の@tomorrowkey です。 adb-pecoというスクリプトを作ったので紹介します。 https://github.com/tomorrowkey/adb-peco 不親切なadbの挙動 CookpadではAndroidアプリの開発にGenymotionを使っています。 普段はGenymotionだけを立ち上げて開発しているのですが、時折不具合報告を受けてAndroidデバイスを接続することがあります。 ひとまずlogcatを見ようとしたり、shellを起動してディレクトリ構造を見たりするのですが、こういうエラーが発生します。 Genymotionとデバイスの2つが接続されているので、adbがどちらに接続するのか分からずエラーを返します。 このエラーを見る度にデバイスIDをコピーしてオプションに追加しなければなりません。 $ adb devices List o

    複数のAndroid端末を同時につないで困ってませんか?それadb-pecoで選択できるよ! - クックパッド開発者ブログ
  • コマンドラインツールについて語るときに僕の語ること #yapcasia

    http://yapcasia.org/2014/talk/show/b49cc53a-027b-11e4-9357-07b16aeab6a4

    コマンドラインツールについて語るときに僕の語ること #yapcasia
  • それ PowerShell でできるよ - Qiita

    Summary 普段使い用 PowerShell メモ 思惑 個人的には、 PowerShell はスクリプトをゴリゴリ書くよりも、 ちょこちょこ作業するのに向いていると思っている。 ただ、しばらく使っていないと忘れたりするので、そういうものをまとめてみる。 Linux で、grep とか使って、よくやりそうな感じのやつ。 共用パソコンなどの自分の環境以外でも使えることを想定しているので、 できるだけデフォルトの状態で、できるものに限定する。 また、普段使い想定なので、タイプ数を減らすのを優先していたりするので、 PowerShell の文法的には微妙なところも多少ある。 grep それ Select-String でできるよ

    それ PowerShell でできるよ - Qiita
  • シェルスクリプト入門 書き方のまとめ | Memo on the Web

    シェルスクリプト入門として, 基的な書き方をまとめました. 長いですが, 1ページにまとめてみました. 良かったら目次も参考にしてご覧になって下さい. 目次 シェルスクリプトとは 作り方, 実行の仕方 コメント ユーザーからのキーボード入力を受け付ける 変数 通常の変数 特別な変数 演算子 数値計算演算子 比較演算子 コマンドを繋げる演算子 条件文に使える比較演算子 条件文 制御構文(分岐) if文 case文 制御構文(ループ) for文 while文 until文 select文 文字列処理 文字列置換 削除 複数行のテキストの出力(ヒアドキュメント) 関数 シェルスクリプトとは シェルスクリプトとは, シェルの動作をまとめて記述したスクリプトのことです. 決められた文法にしたがって処理を記述することによって, シェルでの処理をまとめて行ったり, 作業を自動化できたりします(例 複数

  • doitlive - コマンドを記録してライブ実行

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 勉強会などでコンソール操作をライブで行うケースがあるのですが、普段は何でもないコマンドがミスしたり、typoしてしまったりすると場の雰囲気が壊れてしまいます。そんなミスもライブ感があっていいのですが、発表者にとっては気が気ではないでしょう。 そこで使ってみたいのがdoitliveです。コンソール操作を記録して任意の速度で実行できるようにしてくれるソフトウェアです。 doitliveの使い方 $ doitlive record というコマンドで記録を残すことができます。プレゼンの前に予め操作を記録しておき、後はライブで順番に実行していくだけです。これならばコマンド入力に集中したりせず、スムーズにプレゼンができそうです。また、良くあるコンソール操作を記録しておくというのにも良さそうです

    doitlive - コマンドを記録してライブ実行
  • 私のpeco活用事例 - k0kubun's blog

    pecoというインタラクティブに入力をフィルタして出力するコマンドがあって、使い始めてからシェルの操作方法が大幅にかわり、だいぶライフチェンジングだった。 最近このへんが流行ってるのでやたら記事あるけど、せっかくなので僕も使い道を紹介しようと思う。 pecoをzshで使う 1. peco ghq ghqを使ったローカルリポジトリの統一的・効率的な管理についてのこと。 僕も$GOPATHは$HOMEにしていて、今のところ別に困ることはない。 go getしたりghq getしたりして美しくディレクトリ切った上で、pecoに割り当てておいたC-sですぐ目的のディレクトリ開けるようにしてあるので、めちゃくちゃソース管理が楽になった。 function peco-src() { local selected_dir=$(ghq list | peco --query "$LBUFFER") if

    私のpeco活用事例 - k0kubun's blog