Shell

ガチShellじゃないよ、ShellScriptについてだよ

【備忘録】Homebrewで自作ツールを配布する

Homebrewでの配布は簡単だが毎回忘れる Goでバイナリ作ったり、ShellScript書いて配布したいなと思ったときにHomebrew使うことが割とある。 が、その都度毎回調べてやり方を思い出しながらするのが億劫だったので、一回まとめてみる。 ざっくり手順 Homebrew…

fzfでChromeのtab移動をする

VimでWeb開発してるとブラウザとTerminalを行ったり来たりすることが多い。 ブラウザのタブ切り替えをブラウザでやるのではなく、Terminalでできればノンストレスな開発ができるのではないか。そうだろう。 fzfで実現した github.com 追記:fzf本家の方、Jun…

アウトプットを気軽にするために作ったコマンド

記事書くときはVimで大体書いてからはてぶで整形するというのを繰り返しているが、最初の「Vimで記事を書き始める」という障壁をできるだけ低くし、なんとなくモチベーションが続きそうなやり方をコマンドで実践してる。 どんな感じ こんな感じ。 コマンドを…

oh-my-zshからの脱却

今更マサラタウンだけどoh-my-zshから脱却した。 全然遅さとか感じていなかったが、Profileしてみるとoh-my-zsh関連がビビるほどの遅延を発生させており、腹がたったからやった。 oh-my-zshを脱却して困ったこと oh-my-zshを入れていると、色々と勝手に設定…

Finderで開いているディレクトリにコマンドで移動する(open . ではない)

ShellScriptでドヤりたいGWアドベントカレンダー6日目いくで。 よくある「open .」でFinderで開く方法ではなく、逆にFinderで開いているディレクトリをTerminalで開く。 何を言っているかよくわからないのでとりあえず動作デモ。 Finderで開いているディレク…

ShellScriptでクリップボードの履歴管理する(ついでに水平連結もする)

ShellScriptでドヤりたいGWアドベントカレンダー5日目いくで。 クリップボード管理アプリをShellScriptで作った。 そもそもはスプレッドシートから列をコピーしてA列とB列を入れ替えて貼り付けたいと思ったのが発端で、 どちらかというと副産物的な感じでク…

Shellで定義済みの関数を流し読みしながら表示する

ShellScriptでドヤりたいGWアドベントカレンダー4日目いくで。 皆さん.zshrcや.bashrcは充実していますか? Vimの世界では「.vimrcの量=vim力」と言われているらしいですが、shellも似たようなものでしょうか。 それはさておきshellには様々な関数がありま…

コマンドで文字列画像を生成する

ShellScriptでドヤりたいGWアドベントカレンダー3日目いくで。 適当な画像が必要なときって結構あると思う。 そんな時一々Googleで画像検索するのが億劫になったのでコマンド一発で作れるようにした。 デモ こんな感じで好きな文字列の画像を生成する。 方法…

Chromeの履歴をShellScriptで弄り倒す

ShellScriptでドヤりたいGWアドベントカレンダー1日目いくで。 ブラウザの履歴ってその人がその日何をやっていたのか示すものとして結構な情報詰まってると思うのよね。 「俺今日何やってたっけ・・・」っていう時の思い出し作業や、「さっき見てたページも…

俺よりiTerm使いこなしてるやつおる?

お前らはまだiTermの本当の力を知らない 純正Terminal、Hyper、Alacritty等を使ってるやつ、今すぐ捨ててiTermに乗り換えたほうが良い。 iTermから乗り換えた人も今一度iTermのことを知ってほしい。きっと知らない機能があるはず。 目次 Shell統合をさっさと…

iTermをAppleScriptで操作する

基本的には以下の公式ドキュメントがわかりやすいし参考になる。 www.iterm2.com ただ実際使う時どうなるの、どうすんの?っていうのを紹介する。 AppleScriptでiTermを操作する基本的な構文 iterm.sh #!/usr/bin/osascript tell application "iTerm" activa…

Shellでランダムな文字列を生成する(文字列/数字文字列/乱数)

ふとした瞬間に「あ、ランダムな文字列生成したい」というときがあると思う。 そんなときのShellコマンドを紹介。 ランダムな文字列にも色々種類がある 今回生成するのは以下。 ランダムな文字列生成(例:'ex792Lhk') ランダムな数字文字列生成(例:'189765'…

サーバーのコマンド実行をお願いするときに気をつけること5選

本番サーバーでコマンド実行する際、権限を持っている人にコマンド実行を依頼することってあるじゃん。全台サーバーに実行みたいな。 そんな時に「このコマンドエラー出るよ」と言われないために気をつけるべきことを書いていくぞ。 1. rm, cpには\をつけてa…

fzfでAuthorを指定して編集ファイル一覧を出力する

優秀だなと思った人のソースは全部読みたい 自社開発や大規模なプロジェクトで開発しているとたまに「ああなんてわかりやすいコードを書くんや...」と思うことがある。 とりあえずgit blameして誰が書いたのか特定したはいいものの「もっとこの人の書いたコ…

はてなAPIをcurlでサクッと実行する

とりあえずはてなAPIをサクッとshellで実行したい人に向けて。 自分の記事を取得する curl -u {はてなID}:{APIキー} https://blog.hatena.ne.jp/{はてなID}/{ブログID}/atom/entry はてなAPIはOAuth認証、WSSE認証、Basic認証のいずれかを行う必要があるので…

Webエンジニアの作業効率を1.3倍ぐらいにするワンライナー

この記事は今すぐalias登録すべきワンライナー by ゆめみ① Advent Calendar 2018の25日目の記事です。 ワンライナーでサクッと作業完了できる人かっこいいですよね。 "今すぐ登録すべきalias"ということで普段業務中にでごりごりと使っているワンライナーを…

fzfで末尾に?がついてしまう現象

以下のような現象。 多段scpを試みたときに出会った現象。ProxyCommandによる多段scpができなかったので、しょうがなく愚直に2回scpをしようとした。 expectで踏み台サーバーにsshして、ls。lsの結果をfzfで絞り込んでscpする以下のようなスクリプトを組んだ…

fzfで捗る自作コマンド一覧(zsh)

みんな大好きfzf fzfは結果をインタラクティブに絞り込むだけのコマンドだが、組み合わせ次第でかなり使えるコマンドだ。日本ではpecoの方が有名だが海外ではfzfの方が人気らしい。 github.com 筆者が思うpecoと比較したときのfzfのメリットを述べる。 画面…