簡易LISP処理系の実装例(bash/UNIXシェル版)
【他言語版へのリンク記事】簡易LISP処理系の実装例【各言語版まとめ】この記事は,下記拙作記事のUNIXシェル版を抜粋・修正したものを利用した,原初LISP処理系("McCarthy's Original...
View ArticleDockerイメージをビルドしてECRにpushするshell script
いちいちビルドしてタグ付けしてecrにログインしてpushするのが面倒だったので、1コマンドでやってくれるスクリプト書きました。普段そんなに書かないのでShell書くときのConventionみたいなの知らなくて、変な書き方してる部分もあるかも。気が向いたらご指摘いただけると嬉しいです。書いたやつ#!/bin/sh# Returns boolean indicates whether...
View ArticleWordPressの.htaccessファイルをサブディレクトリにWPがインストールされている場合にスクリプトで対応させる方法
はじめにWordPressをサブディレクトリにインストールした場合、.htaccessファイルをサブディレクトリに対応したものに修正する必要があります。.htaccess# BEGIN WordPress # "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は # 動的に生成され、WordPress フィルターによってのみ修正が可能です。 #...
View ArticleBashのマニュアルを読む
bashのマニュアルを読んでいきたいと思います。1 BASH(1)[root@sandbox ~]# man bash BASH(1) General Commands Manual BASH(1) NAME bash - GNU Bourne-Again SHell SYNOPSIS bash [options] [file] COPYRIGHT Bash is Copyright (C)...
View Article`-bash: ls: command not found` ?!?!😭
新しくパスを追加しようとしてbash_profileの編集をミスった話。一応環境はmac Catalinaです投稿したかったものの再現のために新しくパス追加しようとしてbash_profileを修正してsource .bash_profile。さて再現させるぞーって思ってlsコマンド叩くと-bash: ls: command not found...
View ArticleIPアドレスを決めるのにハッシュ値を使ってみる
Host名などの文字列からハッシュ関数でIPアドレスを生成できるようにし、これをツール化した話経緯サーバーを立てて1年ほどたつが、これまでさほどIPというものを気にしていなかった。自宅サーバーはルーターが192.168.1.1だったので特に悩まずに192.168.1.2で特に困らなかったし、VPSはsshくらいでしかIPでのアクセスを使わなかったので、最初に.ssh/configに設定してしまえばそ...
View ArticleBashのプロンプトのカスタマイズ
.bashrcに下記のように追記する~/.bashrcexport PS1='[\u@\h \w]\$'上記のように編集後再度bashにログイン(bash --login)するとプロンプトは以下のようになります。[ユーザー名@ホスト名 ディレクトリ(フルパス)]$ 記号意味例\hホスト名host...
View Article簡易LISP処理系の実装例(シェルスクリプト/大域変数版)
【他言語版へのリンク記事】簡易LISP処理系の実装例【各言語版まとめ】この記事は,下記拙作記事のシェルスクリプト/大域変数版を抜粋・修正したものを利用した,原初LISP処理系("McCarthy's Original...
View Articleファイル内のある箇所とある箇所のdiffを見る方法
ファイル内のある箇所とある箇所のdiffを見る方法(前提知識1): コマンドの実行結果の出力どうしを比較する方法$diff <(command1)<(command2)(前提知識2): headとtailでファイルの一部を出力する方法あるコマンドの実行結果の10001行目から10100行目までが欲しいときは、以下で取得できる。$cat test.log | head-n 10100 |...
View Article複数のCSVファイルをマージするコマンド
カレントディレクトリ内にあるCSVファイルをマージします。各CSVにヘッダが無い場合cat*.csv ワイルドカード*でファイル名を展開し、catで結合して出力します。たとえばディレクトリ内のCSVファイルが1.csv、2.csv、3.csvならば、cat 1.csv 2.csv 3.csvと同じ結果になります。ファイルに出力する場合は、cat*.csv > result...
View Article【 情報圧縮ノート001 】TerminalとShell(石原さとみ)とKernel(おじさん)の関係性
わざわざShellに石油会社の画像を使う理由は、こないだ東京証券取引所を破壊した「石原さとみショック」の原因たる<< GS社員 >> というTwitterのトレンドを見たとき、小学5年から石原さとみを追っかけてきた自分ももれなく「ガソリンスタンド」を思い浮かべたからです。*情報圧縮ノートは、今まで文字で説明されていた概念(Knowledge)を1枚のjpegで表現するものです。
View Article【 情報圧縮ノート002 】$PATHを通さないと $conda で Anacondaが使えない
なぜか英語を使ってますが、理由は、まぁその、早い話が自分のインスタグラムの使い回しの画像だからです。*情報圧縮ノートは、今まで文章で説明されたいた概念(Knowledge)を1枚のjpegで表現するものです。
View ArticleShellscriptを使ってページなどを大量に作成するときcsvから読み込む
csvファイルの用意エクセルとかGoogleスプレッドシートとかでクライアントから提出してもらったものや自分でまとめたものをcsvで書き出す。会社概要,company 経営理念,philosophy 沿革,history そのた,etc . . ....
View Article【Bash】複数行内容の複数ファイルへのリダイレクト
Bash利用時に、shellscript内で内容が複数行の文字列を、複数ファイルへ書き込みたい場合がある。その際に、複数echoや複数>で、つい逐次書いてしまい、長くなったり重複が目立つことがある。そのため今回は、一括で複数行内容を複数ファイルへ書き込む(リダイレクト)方法を記録する。結果以下に結果の内容を示す。こちらはBashのヒアドキュメントとteeコマンドを利用した方法である。funct...
View ArticleMacでネットワーク接続状況をモニタリングするシェルスクリプト
はじめに受託開発をやっていてどのネットワークからアクセスするかが重要だったり、ネットワークの遅い国で仕事をしていたり、自宅のネットワークが不安定だったり、なにかとネットワーク接続状況が気になる仕事柄、そんなようなことがすぐに確認できると便利です。という訳で、外に出ていく IP Addressネットワーク内の IP address接続している Wi-Fiネットワーク速度...
View Article何度も蘇るプロセスを永遠に殺し続ける.sh
正直もっといい方法が絶対にあると思います。が、備忘録として残します時間を無駄にしたくない人のための要約やったこと: PIDを取得して無限ループで永遠にkillするやりたいことkillしてもkillしても蘇る特定のプロセスをkillし続けたい。プロセスはバックグラウンドで定期的に起動するもよう。環境: macOS Catalinaまずはプロセス名を調べるApplications >...
View ArticleJava[MacOS] クラスパスの設定方法 ターミナル再起動後も設定されている方法
皆さんこんにちは。Takeです。MacOS Catalina を使用しているプログラミング初心者の方々、Java初学者の方々、あるファイルをクラスパスに設定して別のファイルをコンパイルしなければならない事ありませんか?たとえば、javac Hoge.javaとしようとしたところ、java:7: エラー: シンボルを見つけられません public class Hoge extends...
View ArticleEMRをVisual Studio Codeから起動するスクリプト (コロナ禍対応)
Visual Studio CodeからEMRを使う方法として今はJupyterHubへの接続をしています。毎回、EMR設定、立ち上げを行うのは面倒なので、スクリプトを書きました。Security Groupの設定昨今、毎回、IPが変わるようなシチュエーションも想定されるため、クライアントアドレスを自動的に送信して所望のアクセスを得ます。sg_name=sg-hoge # delete...
View Articlemacosで開発環境を作ろうとしたらシェルコマンドのバージョンが違って動かないcgiをbrew httpdのPATHを書き換えて動くようにした話
目的VPSで動いているcgiをmacosでlocalで開発環境を立ち上げようとしました。でも、macosのシェルコマンドは古いのです。通常のログイン環境ではbrewでgnu core...
View Article