Bashスクリプトの引数解析をgetoptsで行う際の問題と解決策
何?Bashスクリプトで実行時引数の解析を行う時に用いるBash組み込みのパーサコマンドgetoptsは、「オプション引数の前に位置引数がある」ような場合、うまく処理できない。この場合エラーを出すようにする方法を考えた。なお、競合するgetoptコマンド単体を用いるとこの問題は解決する。どうしてもgetoptsがいい場合には今回の方法を用いるといい。具体例optstringがd:で、同時に位置引数を...
View ArticleWSL上で Clip コマンドが使えなかった時の対処法
事象WSL上でClipコマンドが利用できない。User@id:~/Works$ clip < ~/.ssh/id_rsa_git.pub 以下のような出力がされてしまうUsage: clip [-v axisx,y,z,...] [-g value] [-l value] [-s nslices[,fraction]] [-sph centerx,y,z,...] [-cyl...
View ArticleUbuntu20.04のターミナルでtab補完や上キーが使えない
発生した現象Ubuntuサーバーに新しいユーザーを作り、作業しようとしたのですが、tabキーを押してもパスが補完されず謎の空白が挿入され、十字キーの上を押すと^[[Aという謎の文字列が挿入されましたググってみるとこちらのサイトがヒット書いてある通りに試してみましたが、改善せず解決法terminal$ cat /etc/passwd 中略...
View Articlebash_profileとbashrcの違いについて
対象シェルスクリプトをなんとなく知ってる linuxコマンドをなんとなく知ってる方が対象です。今回は勉強会でbash_profileとbashrcを学んだのでかなりわかりやすく解説していきます。まずはbachファイルの検索homeディレクトから以下のコマンドを実行 ls -la | grep...
View Articleシェルスクリプトでブラウザを自動操作する Selenium/WebDriver bindings を作りました
はじめにシェルスクリプトから簡単にブラウザを自動操作できるシェルスクリプト用ライブラリ「Selenium/WebDriver bindings for shell script」を作りました。このライブラリを使うと最小の手順と短いコードで、お手軽なシェルスクリプトからお手軽にテストやスクレイピングを行うことができます。ネタとしては @Rasukarusanさんの「ShellでSeleniumを作る...
View Article必要のないgit branchをまとめて消す
今いるbranch以外を削除git branch | grep-Ev"\*" | xargs git branch -D"\*"の部分は正規表現なのでよしなに変えて好きな分だけまとめてけせる今いるbranchとmaster以外を削除git branch | grep-Ev"\*|master" | xargs git branch...
View Articlebashおよびスクリプト
こんにちわ! 現在LinuC102学習中の@darry6335です。今日はシェルスクリプトに関して学習しました。1.bashとは?bashとはBourne Again...
View Articleヒトの染色体ごとのファイルを繰り返し処理するためにブレース展開を学ぶ
ヒトの染色体ごとのファイルを処理する? ヒトのゲノム情報等のファイルは一般的に非常に巨大になるので、染色体ごとに処理したくなるのが人情ですよね。 Linuxをほとんど触ったことが無かった時に、染色体ごとにファイルを処理することは様々なLinuxのブレース展開を覚える良い勉強になったので、まとめてみました。 以下は、bashが使用できる環境(Linux, MacまたはWindowsのWindows...
View Article定期的にネットワーク速度を計測してスプレッドシートにまとめる part1
できたものこんな感じで1時間ごとに自宅のネットワーク速度を計測してGoogleスプレッドシートにまとめてくれるようになりました。ネットワーク計測とGASにPOSTをリクエストするスクリプトの作成とGASでウェブアプリの作成が主な作業内容です。下記を参考に作成しました。ネットワーク速度の計測pythonのツールであるspeedtestを使用して計測します。まずはインストールします。$ pip...
View Article定期的にネットワーク速度を計測してスプレッドシートにまとめる part2
できたものこんな感じで1時間ごとに自宅のネットワーク速度を計測してGoogleスプレッドシートにまとめてくれるようになりました。ネットワーク計測とGASにPOSTをリクエストするスクリプトの作成とGASでウェブアプリの作成が主な作業内容です。下記を参考に作成しました。part1でネットワーク速度の計測までできたので、スプレッドシートにまとめられるようにウェブアプリケーションを作成します。GASでウェ...
View Article任意サイトのサブドメインを列挙する
何?あるサイトのサブドメインを探して列挙したい。例えばexample.comならftp.example.comやws3.example.comなどがサブドメインに当たる。調べたところいくつかツールがヒットした。その中でもsublist3rがシンプルで良かったので紹介する。sublist3raboul3la/Sublist3rは、各検索エンジンのクローラが拾ったレコードからサブドメインを検索し列挙する...
View ArticleセッションマネージャでRDSに接続
案件で別契約のサーバのアプリケーションでDBを参照したいとの要望でためしてみました。間違い等ありましたら、ご指摘ください!TODO別サーバからSSMでトンネリング↓ PrivateSubnetのEC2からRDSにポートフォワード前提macOS v10.15.7Terraform v0.13.4RDSと接続元EC2(図①)は作成済手順1....
View ArticleSalesforceの添付ファイルをkintoneに移行する具体的な方法について
Salesforceの添付ファイルをkintoneのアプリに移行する方法です。移行方法はいろいろあるかと思いますが、今回はできるだけOSに標準でインストールされている機能で移行してみます。シェルスクリプトはよく分かってないので書き方に問題があるかもしれませんが、その辺りはご指摘いただけると助かります。動作環境macOS 10.15.7bashawk version 20070501nkf...
View Articlepipでeditable mode以外のパッケージを更新
pip install -eでインストールしたパッケージ以外を全更新Terminalpip list | awk'NR>2&&$3==""{print$1}' | xargs pip install-U
View ArticleシェルスクリプトでCSVファイルを1行ずつ読み込んで処理する
実現したいこと・シェルスクリプトでCSVファイルを1行ずつ読み込む・各行のカラムを取り出して処理する・処理結果を別のCSVファイルとして出力する具体的な要件・以下のようなCSVファイル(input.csv)を読み込む1,hoge,hoge,unko 2,hoge,hoge,hoge 3,hoge,hoge,hoge 4,hoge,hoge,unko 5,hoge,hoge,hoge...
View ArticleGoogleのShell Style Guideの邦訳
原文: https://google.github.io/styleguide/shellguide.htmlShell Style GuideRevision 2.02多くの Google 社員によって執筆、改定そして保守されている。目次 (Table of Contents)SectionContents背景 (Background)どのシェルを使うか (Which Shell to Use)...
View ArticleVim初級者へオススメの設定と知っておくと便利な最低限のコマンド
tabインデントが入力しやすくなるVimのおすすめ設定他のテキストエディタと比べかなり癖が強く,いまいち人気のないVimを使い勝手の良い最強ツールにするための設定とコマンド一覧を記載.使用環境: macOSVimの設定ファイル.vimrcを編集$ sudo vim ~/.vimrc...
View ArticleMacでバッチファイル(commandファイル)を作ってMySQLにラクラク接続する方法
ターミナルからMySQLに接続(通常の方法)通常は下記のコマンドを入力しMySQLに接続に接続する.オプション-pと[パスワード]の間にはスペースを入れずに連続して指定$ mysql -u[ユーザ名 ]-p[パスワード ]ユーザ名とパスワードを記述したバッチファイルからMySQLに接続注意:...
View ArticleMacのターミナル上でプライベートIPアドレスを調べる方法
最も簡単なプライベートIPアドレスの調べ方わざわざターミナルでコマンドを入力しなくても,システム環境設定>ネットワーク>[ 詳細...
View ArticleMacでバッチファイル(commandファイル)を作ってダブルクリックのみでビルトインウェブサーバを起動させる方法
ビルトインウェブサーバについてプライベートIPアドレスの用途参照.プライベートIPアドレスの取得についてターミナル上でプライベートIPアドレスを調べる方法 1参照.バッチファイルの作成デスクトップ上にバッチファイルを作成Windowsでいうところのバッチファイルの意味を持つ拡張子batは,macOSにおける拡張子commandに相当する.$ touch...
View Article