タグ

Shellに関するpmakinoのブックマーク (85)

  • PowerShellでも手軽にコマンド天気予報が可能になった「wttr.in」

    wttr.inは2016年から開発を続けてきた天気情報を取得できるサーバーだ。Linuxであればcurlやwget、PowerShellはInvoke-RestMethodを用いることで、現在地の天気情報を端末などに表示できる。 Windows 10であればWindows PowerShellもしくはPowerShellを起動し、「Invoke-RestMethod wttr.in」と実行する 既定では現在地の天気を示し出すが、「curl wttr.in/London」なら英国のロンドン、「curl wttr.in/Salt+Lake+City」なら米国ユタ州のソルトレイクシティーの天気が示される。 多言語に対応しており、コマンドラインに「?lang=ja」を追加すれば、日語表示も行われる 出力形式は前述のANSIに加えて、プレーンテキストやHTML、JSON、PNGに対応。既存の画像フ

    PowerShellでも手軽にコマンド天気予報が可能になった「wttr.in」
  • ターミナルから爆速で天気予報をみる - Qiita

    天気予報、知りたいですよね? みんな仕事中にオイミャコン1って今どれくらいの気温かな?って気になるときがあると思う(俺はない)。そんなときいちいち天気予報アプリや検索するのは面倒って人に朗報です。あなたがいつもよく使っているその「黒い画面」から天気予報がわかるのです。 2019/06/28 追記 現在サービスを停止しているようです。復旧を待ちましょう。 Sorry, we processed more than 1M requests today and we ran out of our datasource capacity. We hope to solve the problem as soon as possible, so you can enjoy your favourite weather service 24x365 even if it rains or snows.

    ターミナルから爆速で天気予報をみる - Qiita
  • POSIXシェルスクリプトではwhichではなくcommand -vを使うべき理由(+シェルスクリプト版which) - Qiita

    重要 2022-01-30 追記 この記事で解説していた警告の出力は 2022-01-21 に取り消されました(参照 Revert deprecation of which)。そのため Debian which が GNU which に変わることは(少なくとも近い未来では)ないと思います。しかしながら which を使うよりは POSIX で規定されている command と type を使う方を推奨します。 はじめに which コマンドはシステムにインストールされてるとは限りません。実際に最小構成でインストールされてない環境として CentOS があります。一方 command -v は POSIX 規定されているので POSIX に準拠したどのシェルでも問題なく使えます。シェル上では which コマンドを使っても良いと思いますが、シェルスクリプトでは command -v を使う

    POSIXシェルスクリプトではwhichではなくcommand -vを使うべき理由(+シェルスクリプト版which) - Qiita
    pmakino
    pmakino 2024/01/11
    「command -v」を「command+v」に空目してしまい、「シェルスクリプトの話なのになぜMac前提?てかスクリプトの中で貼り付け操作とは??」としばし困惑するなどした
  • パイプに関係するさまざまなバッファ、ちゃんと意識していますか? - Qiita

    はじめに コマンドをパイプでつなげた時、各コマンドの間にはいくつかのバッファが存在します。そのバッファについてちゃんと意識しているでしょうか? バッファの存在によって各コマンドの実行には分かりづらい変化があります。そのバッファを知らないと罠にハマってしまう・・・かもしれません。 プロセス間のパイプ通信のバッファ まずプロセス間のパイプ通信に存在しているバッファです。多くのコマンドは行単位でデータを処理しますが、一般的にパイプでつなげた各コマンドはそれぞれ処理速度が異なります。処理がすぐに終わるコマンドもあれば時間がかかるコマンドもあります。各コマンドは並列で動作可能ですが必ずしも並列で動作するわけではありません。 一般論としてパイプライン全体の処理にかかる実時間はパイプでつながったコマンドの中で一番遅いコマンドに足を引っ張られます。いくら並列で動作可能と言ってもデータが到着しなければ処理す

    パイプに関係するさまざまなバッファ、ちゃんと意識していますか? - Qiita
  • 【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう - Qiita

    はじめに もう文字列の置換で sed コマンド使うの禁止して良いんじゃないですかね? 言いすぎだとわかってあえて言っていますが。 悪い書き方(外部コマンドに頼る方法) # 変数 line に入ってる文字列を echo コマンドで出力して sed コマンドに渡し、 # sed の s コマンドで "from" を "to" に置換して出力したものを ret 変数で受け取る ret=$(echo "$line" | sed "s/from/to/")

    【脱sed】いい加減シェルスクリプトで文字列をsedで置換するなんてやめよう - Qiita
    pmakino
    pmakino 2023/09/02
    存じ上げませんでした。Perl拡張正規表現は使えるんだろうか。
  • Tera Term 私的おすすめ設定 - Qiita

    自分が普段 Tera Term をインストールしたときに必ずやっている初期設定を紹介します。 それぞれ、 危険な機能の無効化 利便性向上 個人的好み のいずれかを目的としたものです。特に「危険な機能の無効化」カテゴリのものは万人にお薦めします。 なおこの記事は Tera Term 4.106 を前提に記載しています。 インストーラーでの設定 追加プラグインを全て有効化する カテゴリ 利便性向上 変更理由 デフォルトでは追加プラグインは「TTXResizeMenu」と「TTXttyrec」しか有効になっていない。しかし個人的には「TTXKanjiMenu」もしばしば使うため。 インストール後の TERATERM.INI のカスタマイズ ConfirmPasteMouseRButton を off から on に変更 カテゴリ 危険な機能の無効化 変更理由 off だと右クリックした瞬間にクリ

    Tera Term 私的おすすめ設定 - Qiita
    pmakino
    pmakino 2021/07/15
    誰か書いてておかしくないと思うんだけど見つからないので書いた
  • telnetコマンドが無いときはcurlで代用 - 動かざることバグの如し

    macOS High Sierraではtelnetコマンドが消えたらしい macOS High Sierraで消されたftpとtelnetを復活させる - Qiita あ、はい が、ポート開放できるかの開放にtelnetコマンドはよく使うのでないのは困る。もちろんbrewでインストールするのもありだけど他人のPCとかだとなぁと思ってたらなんとcurlでも叩けるらしい やりかた 今までのtelnetコマンドでのやり方 $telnet example.com 443 Trying 93.184.216.34... Connected to example.com. Escape character is '^]'. curlでやるときは curl -v telnet://HOSTNAME:PORT $curl -v telnet://example.com:443 * Rebuilt URL

    telnetコマンドが無いときはcurlで代用 - 動かざることバグの如し
  • Windows 10で標準で用意されるようになったcurlを使ってみる (1/2)

    Windows 10には、マイクロソフトが実装したcurl.exeコマンドが同梱されている。公開されているソースを元に作られた公式のcURLとはバージョンなどが異なっている Windows 10には、2018年のWindows 10 Ver.1803(RS3)からcurl.exeコマンドが標準で付属している。curl(カール)は、cURLの意味で、URLを使って指定するプロトコルを実行するコマンドラインツールである(以後記事中ではcURLをオリジナルの表記として使う)。 curlは1990年代後半に開発が始められ、当初はUnix(SunOS)上で、名前もhttpgetだった。開発が進むとともに、複数のプロトコルをサポートするなどして「cURL」となったのは1998年で、この頃にLinuxにも移植されたようだ。 Windows 10に付属しているのは、cURLの仕様からMicrosoftが作

    Windows 10で標準で用意されるようになったcurlを使ってみる (1/2)
    pmakino
    pmakino 2020/07/26
    curl もあったのか。ssh と tar しか認知してなかった。
  • シェルスクリプトのechoの移植性の問題に本気で対応する - Qiita

    ビルトインの echo を置き換えることで各シェルの非互換性を問題を解決する、移植性のある(ポータブルな)echo シェル関数を作りました。(リポジトリPortable echo) 解説は後半の方でしています。 はじめに echo はシェルスクリプトにおいて一番基となるコマンドなのになぜ移植性がないのでしょう? この話については以下が詳しいです。 echo コマンドの違いと移植性の問題 - 拡張 POSIX シェルスクリプト Advent Calendar 2013 どの環境でも使えるシェルスクリプトを書くためのメモ ver4.60 さて「僕らが当に欲しかったもの」それはエスケープシーケンスを解釈せずに文字列をそのまま出力する関数ではないでしょうか? 文字をそのまま出力したい時にどうするか? 簡単な答えは echo の代わりに printf を使用します。以下は printf を使用し

    シェルスクリプトのechoの移植性の問題に本気で対応する - Qiita
  • tail -Fなどの標準出力を一定時間ごとに指定のコマンドに渡し、その実行結果をシーケンシャルに出力するコマンド evry を作った - Copy/Cut/Paste/Hatena

    ログの流量やサマリを、カジュアルに、そしてリアルタイムに確認したかったので作ってみました。 github.com これはなに 標準入力の内容を、一定時間ごと(もしくは一定行ごと)にまとめて指定のコマンドに渡し、その実行結果をシーケンシャルに出力するコマンドです。 使い方 例えば、「NGINXの10秒あたりのリクエスト数を確認する」には、以下のように evry で10秒ごとにまとめた標準入力を wc -l に渡します。 $ tail -F /var/log/nginx/access.log | evry -s 10 -c 'wc -l' 8700 1260 8580 6430 [...] 例えば、「Apacheの1000リクエストあたりのアクセス先ランキング上位5を確認する」には、以下のように書けます(GNU sedを使用)。 $ tail -F /var/log/httpd/access.

    tail -Fなどの標準出力を一定時間ごとに指定のコマンドに渡し、その実行結果をシーケンシャルに出力するコマンド evry を作った - Copy/Cut/Paste/Hatena
  • 時差を調べるUNIXコマンド (シェルスクリプト) を作ってみた - Qiita

    はじめに 海外の「現地時間は今何時」を知りたいことはよくある話で、単純に現在の時刻を調べるのであれば世界時計を使えばわかるしWebサービスも多数あります。ところが「現地時間の午前9時は日時間の何時」とか知りたい場合は意外に調べやすありません。スマホにある世界時計の機能も、現在時刻を知るのは簡単ですが、今の時間とは違う時間についてはあまり簡単にはできません。 普段シェルのコマンドラインを利用していることが多いので、時差をコマンドラインで表示するツールが欲しくなったということもあって作ってみたtzdiffコマンドを紹介します。 この記事の公開の段階ではコマンド名はtimediffだったが、別のコマンドとコマンド名が被ることが判明したためtzdiffという名前に変更した。(2018-09-04 更新) Githubのtzdiffのページ https://github.com/belgianbe

    時差を調べるUNIXコマンド (シェルスクリプト) を作ってみた - Qiita
  • Web-based SSHクライアントについて調べてみた - Hello, idea

    手元にSSHクライアントが無い状況でもブラウザさえあればSSH可能になるやつです セキュリティが気になるのでWEBサービス系の使用は避けたいところです 商用版のあるタイプの物を自鯖に入れたほうが良さげ ■ shellinabox https://code.google.com/archive/p/shellinabox/ 2016年が最終リリースです。開発はほぼ終わっていてメンテナンスのみの印象です。 ■ tools.bartlweb https://tools.bartlweb.net/webssh/ shellinaboxを個人で運用公開してるサービスのようです ■ KeyBox https://www.sshkeybox.com/ 開発が活発な印象です。商用版あり ■ serFISH https://www.serfish.com/console/ WEBサービス型のSSHクライアン

  • PowerShell 使い方メモ - Qiita

    コマンドプロンプトと同じ要領でコマンドが入力できる。 コマンドレット PowerShell では、コマンドのことを コマンドレット と呼ぶ。 コマンドレットは、 <動詞>-<名詞> の命名規則に従って定義されている。 例えば、 Get-Content とか、 Get-Date のような感じ。 エイリアス 「フォルダを移動するときのコマンドレットは、 Set-Location です」 と説明すると、 100 人中 190 人くらいは「ありえへん!」と感じ、 PowerShell を勉強する気が失せると思う。 さすがにフォルダ移動するたびに Set-Location と入力してると自殺したくなるので、 PowerShell にはデフォルトでエイリアスが定義されている。 Set-Location のエイリアスは、 cd と chdir と sl が定義されている。 なので、 cd <移動先のパス

    PowerShell 使い方メモ - Qiita
    pmakino
    pmakino 2017/01/17
    今更ながらPowerShellの基礎を学んでいるがいい感じにまとまってて良い。正規表現は使えるしシェルスクリプトでありながら例外が使えるのは良い意味で意外感ある一方で比較演算子が残念な感じだ。
  • 単純作業を自動化して人類の無駄な時間をなくそう - 竹迫の近況報告

    このエントリーは Recruit Engineers Advent Calendar の 5日目の記事です。 www.adventar.org 目次 自己紹介 時間は有限、大切に使おう sshで30台のサーバをセットアップする expect コマンドを使おう StrictHostKeyChecking no chpasswdでパスワード設定 chmod u+sとSUID seqコマンドとbash拡張構文{1..9} Excel業務を自動化しよう Win32::GuiTest でキーボード入力を自動化 MouseMoveAbsPix でマウス操作を自動化 マインスイーパーの自動化 BadUSBによるキーボード入力の自動化 まとめ 1. 自己紹介 @takesakoです。最近、まつもとゆきひろさんと岸川克己さんが技術フェローと技術顧問に就任した会社で専門役員を担当しています。 会社ではホールデ

    単純作業を自動化して人類の無駄な時間をなくそう - 竹迫の近況報告
  • tmuxに慣れてみる: tmuxとGNU screenの違いなど

    B! 215 0 1 0 ターミナルマルチプレクサとして GNU Screen を普段使っていますが、 tmux の方が活発に開発されてる様に見えたり 乗り移ってく人も沢山居るみたいなので気になって何度か試してみましたが、 イマイチ違いを吸収出来ずにScreenに戻ってきてました。 無理に移行する理由もそれ程無いですが、また試してみたので 取り敢えず違いなどのメモ。 設定ファイル Prefix (Escape) コマンドモード キー設定一覧 デタッチ/アタッチ キーバインド コピーモード/履歴スクロールバック Session/Layout/Window/Pane split 全Paneに同時入力 swap-paneの問題 Status表示 .bashrcなどでの判断方法 違いが理解できたら 設定ファイル screen tmux ファイル名 ~/.screenrc ~/.tmux.conf

    tmuxに慣れてみる: tmuxとGNU screenの違いなど
  • よく使う 9 つの便利なシェル芸 - Qiita

    Help us understand the problem. What are the problem?

    よく使う 9 つの便利なシェル芸 - Qiita
  • シェルスクリプトの平文パスワードをセキュアにする方法 - 余白の書きなぐり

    追記: (2015/8/3) 大量のはてブが付いたので 続き を書きました。 sshを使用している人は文字列を手軽に暗号化・復号化できるという話。 このテクニックを使えば色々セキュアになるのでおすすめ。 今回はシェルスクリプト中の平文パスワードをセキュアに代替する。 平文パスワードはやめよう シェルスクリプト中でパスワードが必要になったとき、 とりあえず平文で書いてしまいがち。 #!/bin/sh PASSWORD="hoge" これをセキュアにしたい。 面倒くさいのは嫌なので、なるべく手持ちのツールで暗号化、復号化したい。 ssh用の rsa 秘密鍵と、openssl(大抵の環境に入っている)を使って改善しよう。 秘密鍵の準備 パスワードを暗号化するにあたって、秘密鍵を使用する. sshを常用している場合は ~/.ssh/id_rsa という秘密鍵が存在するだろう。 もし秘密鍵が無ければ

    シェルスクリプトの平文パスワードをセキュアにする方法 - 余白の書きなぐり
  • bashで覚えておきたいショートカットキー(キーバインド) | 俺的備忘録 〜なんかいろいろ〜

    Linuxでデフォルトのログインシェルといえばbash。sshで接続するにしても、bashは必ず使うものだ。 今回は、そんなbashで利用できるショートカットキー(キーバインド)で覚えておくと便利なものをピックアップしてみた。 1.カーソル移動系 カーソルを移動する際に便利なショートカットキー。 こうしてみると、意外と知らなかったショートカットキーがあったりする。 コマンド 機能

  • サーバで作業時にログを残す - Qiita

    あらまし サーバ上でなにかしら作業する時にhistoryコマンドで見直してもいいけどだるいよね。 -> コマンドと実行結果をログに吐かせておこう。 環境 CentOS 6.6 察しの言い方は既に何やろうとしてるか気づいてると思います。 Scriptコマンド $ man script - 早い話がこれで解決する。 使い方 ### script <保存ファイル名(パスで指定してもいい)> $ script log スクリプトを開始しました、ファイルは log です #ここから $ touch hogehoge $ exit exit スクリプトを終了しました、ファイルは log です #ここまでが記録される $ ls hogehoge log $ cat log スクリプトは 2015年07月09日 06時17分01秒 に開始しました$ touch hogehoge $ exit exit

    サーバで作業時にログを残す - Qiita
  • 初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita

    ここ最近、沢山シェルスクリプトを書くようになりました。 元々あまりシェルスクリプトを書いたこと無かったので、色々と勉強しつつ書いてるのですが、 他のプログラミング言語とはちょっと違って独特なクセというか、発見の度におぉー!ってなることが沢山あって楽しいです。 そんなわけで、最近学んだり参考にした中で特に感動したシェルの上手い書き方をまとめてみます。 きっとまだ知らないこととかもっと上手くやる方法なんかが沢山見つかりそうなので、 もっといいやり方あるよ!って方はコメントください 何もしない : (コロン)コマンド シェルを書いていた時に非常に欲しかったコマンドがこれ!何もしない! : というコマンド(?)を利用すると、何もせずに終了ステータス0(つまり正常終了)を返します。 これが様々な事に使える万能コマンドで、これによって面倒なエラー処理を簡潔にできたり、 入力や出力のリダイレクト元/先と

    初心者向け、「上手い」シェルスクリプトの書き方メモ - Qiita