AWS-SDKをbashで自作してみる
概要AWS-SDKをbashで作りました。 AWS-SDKやプログラミング環境の用意できないPCでも、AWSが扱えるようになります。作るにあたって、以下の条件を守るようにしています。プレーンなbash(今回はgitbash)を利用、標準のgitbashにないものは使わないことプログラミング言語は使わない。awk, sed,...
View Articleシェルスクリプトのコマンド置換
コマンド置換シェルスクリプトを書いていると、コマンドの出力結果をシェルスクリプト中で利用したいことがある。コマンド置換を使えば、コマンドの結果を文字列として取得することができる。利用方法$()という形式で、カッコ内に実行したいコマンドを記述すると、シェルスクリプト実行時に標準出力で置き換えられる。例:現在の日付をYYYY-MM-DD形式で表示$ date'+%Y-%m-%d' 2020-05-04...
View Articlebashのファイル一覧表(markdown)をワンライナーで取得する
目的何かのアプリを開発しているとき、作成したコマンド群の一覧表を作りたいことないですか。それを実現するワンライナーです。さっくり作りたいのでコメントをサースから取り出すとか完璧は求めないです。あくまで表の骨格が作れればいいと思っております。方法Markdownは素晴らしい記法ですが表形式の手打ち作業は行が多くなると辛いですね。なので、bashとawkでサクッと作ります。llは可読性の高い時間表示に設...
View Article個人的なbash terminalの備忘録
環境$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04 LTS Release: 20.04 Codename: focal $ bash --version GNU bash, version 5.0.16(1)-release...
View Articlebashの変数パラメータ展開
はじめにbashの変数パラメータ展開をすぐ忘れてしまうので整理する。bashのパラメータ展開の一部記法意味${変数名#パターン}最短マッチで、パターンに前方一致した部分を取り除く${変数名##パターン}最長マッチで、パターンに前方一致した部分を取り除く${変数名%パターン}最短マッチで、パターンに後方一致した部分を取り除く${変数名%%パターン}最長マッチで、パターンに後方一致した部分を取り除く上記...
View Articleシェルプログラミング入門 3
はじめにこの記事はシェルプログラミング入門1シェルプログラミング入門2の続編である。シェル関数シェル関数は下のような形式である。name(){command・・・・・ }ls -lと同じ動作をするlslという関数を作ってみる。% lsl(){>ls-l>} % lsl total 48 -rw-r--r-- 1 Tomoki staff 7 4 16 09:23 abc...
View ArticleWordPressのデータベースプリフィクスを変更するスクリプト
はじめにWordPressのテーブルプリフィクスを変更したかったです。CI/CDで自動デプロイを行う予定です。プラグインや手動で行う方法は合ったのですが、コマンドで変更する方法が見つからなかったために作成しました。gistにアップして下記のように実行する想定です。引数に変更後のプリフィクスを指定することができます。DBに対する変更のため、バックアップは必須です。$ curl -L...
View ArticleLinuxMintでタッチパッドの有効無効をショートカットで切り替える
タッチパッドが煩わしい 文字入力中にタッチパッドが反応して、誤タイプが発生して困ることがありませんか?私はあります。Windowsなら大体の場合はタッチパッドの有効無効を切り替えるショートカットがありますが、LinuxMintには無さそうです。...
View Articlecherry-pick対象のコミットのハッシュ値をシュッと出してくれるワンライナー
(git log --no-merges--pretty="%h"元になったブランチ..チェリーピックしたいブランチ | awk'{print$1}') | tr'\n'' '
View ArticleFortranで動的割付した配列をcsv形式で出力したい場合
こんにちは。この記事では、Fortranで動的割付けallocateされている場合のcsv形式の出力でつまづいた点を共有させていただきます。Fortranでcsv形式で出力する場合x_outをcsv形式を行う場合、下記の通りに記述します。csv.f90real(4)::x_out(3)character(256)::linebufopen(1,file='./your_outfile.csv',fo...
View Articleオレオレgrep
grepコマンドが優しくないファイルの中の文字列を検索する「grep」コマンド。使用頻度がかなり高いとは思いますけど、どうにも優しくない。優しくなさすぎて「find」コマンドと併用したりしてしまいがち。「find」は、それはそれでコマンド行が長くなりがちなので、ここはひとつシェルスクリプトで補完してみようじゃないかと思いたちました。まずは、デフォルト状態を決めます。ヒットしなかった行は表示しない標準...
View Articlebashでnpmのpathを通す
はじめにターミナルでngコマンドやvueコマンドなどを実行する際に、command not foundと表示された時の対処です。動作環境MacとUbuntu(WSL環境)でのbashで動作確認しています。 bashが動作する環境なら同じ設定で動作すると思います。一時的にnpmのpathを通すbashで下記のコマンドの実行します。export PATH=$PATH:`npm bin -g`...
View Article【AtCoder対策】Bashでbcを使わずに小数を表現する(更新版)
はじめに人類誰しもAtCoderやってますよね。私もその1人なのですが、なんと先日ABCのA問題で壁にぶち当たりました。今回はその壁の回避法についてまとめてみます。※数年前に書いた記事が間違っていたので再投稿です。不備がありましたらご指摘ください。問題[ABC117-A]Entrance...
View Article空白文字を含むファイルパスを指定する方法
""でくくるだけターミナル等でパスを指定する際、パス名に空白が含まれる場合(例○ /Users/username/"Box Sync"/✕ /Users/username/Box Sync/補足pwdでパスを取得すると、普通に /Users/username/Box...
View Articleシェルプログラミング入門4
はじめにこの記事はシェルプログラミング入門1シェルプログラミング入門2シェルプログラミング入門3の続編である。ファイルディスクリプタファイルディスクリプたはプロセスと使用するファイルを結びつけるものである。プログラムを書き込むとき、プロセスはファイルディスクリプタによってファイルへアクセスしている。ファイルディスクリプタは数値で表されており、0~2番は予約されている。ファイルディスクリプタ...
View ArticleMac 最新OSでbashを使用する際に出力される通知を非表示にする
目的MacOSの最新版であるCatalina(10.15.X)にてbashを使用する際に出力される通知を非表示にする方法をまとめる実施環境ハードウェア環境項目情報OSmacOS Catalina(10.15.3)ハードウェアMacBook Pro (16-inch ,2019)プロセッサ2.6 GHz 6コアIntel Core i7メモリ16 GB 2667 MHz DDR4グラフィックスAMD...
View ArticleShellSpecのカバレッジ測定機能をzsh,kshに対応させました(Kcovをbash以外に対応させる方法)
はじめにKcovは Bash(と Python)に対応しているカバレッジ測定ツールです。Kcov が本来対応しているのは bash だけなのですが bash と同様の出力を行うことで(Kcov と統合している)ShellSpecのカバレッジ測定機能を zsh と ksh に対応させることができたのでその情報を共有します。なおこの記事の内容は開発者向けの技術情報です。この記事を読んだだけでは素の...
View ArticleBashで3パターンのおみくじを作った
はじめにシェルスクリプトの学習として作りました。作ったおみくじはifを使ったもの、caseを使ったもの、配列を使ったものの3パターンです。ifを使ったおみくじ#!/bin/bashnumber=$(($RANDOM%6))if[$number-eq 0 ];then echo 大吉 elif[$number-eq 1 ];then echo 中吉 elif[$number-eq 2 ];then...
View Articlebash, cshどちらからでもsourceできるスクリプトの書き方
死んでも同じようなコードをふたつ書きたくないめんどくさがりな人向け。ネタです。条件分岐ifの文法が異なっていて使えないので、testと&&、||をつないで条件分岐する。test 条件式 && 真の場合 || 偽の場合 変数の代入、出力bashスタイルで代入してみて、エラーになったらcshスタイルで代入する。出力の仕方は同じ。x=hoge >&...
View Article