bash
ネットでパスワード生成出来るサービスあるじゃないですか?アレって生成結果保存してどっかに売ってたりするのかなとか思ったのでローカルでパスワードを生成することにしましたっていうだけの話。あまり精度は求めていません。 基本は前回と同じですでパタ…
シェルスクリプト書いてるときに外部コマンドを使わずにシェルだけでハッシュっぽいもの作れないかなと思ったので頭の体操。 bash には ${パラメータ:オフセット:長さ} という変数の展開方法があり、例えば ${パラメータ:オフセット:1} とすれば「"パラメー…
久しぶりに Bash のマニュアルを読む機会があって alias について読んでたら謎いことが書いてあった。 alias コマンドを引き数を付けずに (あるいは -p オプションを付けて) 実行すると、エイリアスのリストが 「alias name=value」の形で標準出力に出力され…
最近、A/Dコンバーターを使うので2進数を扱うことが多くなってきた。Python なんかだと 0b や 0x といった書式や bin() や hex() といった関数があるが、シェルスクリプトの場合はどうするのか?マニュアルを見るとこんな風に書いてある。 Constants with a …
Qiita に投稿しようと思ったけど書式エラーで貼れなかったのでこっちに貼っておく。 GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0) zsh 4.3.9 (i386-apple-darwin10.0) シェルおよびコマンドの種類 /bin/sh /bin/bash /bin/bash(xpg_echo…
bash で関数をエクスポートして遊んでいるときに不思議な現象に遭遇した。 md2html() { perl /usr/local/bin/Markdown.pl "$1" | cat /dev/fd/3 - /dev/fd/4 3<<EOS1 4<<EOS2 <!doctype html><html><body> EOS1 </body></html> EOS2 } これをエクスポートして実行すると /dev/fd/4 が開けないというエラーになる。 と</eos1>…
help for より。 If `in WORDS ...;' is not present, then `in "$@"' is assumed. in WORDS を与えない場合 in "$@" だと仮定される。とのこと。 sh -c 'for args; do echo $args; done' -- "1 a" "2 b" "3 c" 1 a 2 b 3 c 書いてないソースコード見たこと…
Qiita に投稿しようと思ったけどなんか毎回同じようなこと書いてても他の人にはまったく関係ないよねってことでブログに。 また新しい疑問が沸いて来た。 「while read; do :; done < file で何故次の行が読めるのかわからない。」 だって read < file した…
ビルド専用のシェルプロファイルを書いていてふと思ったのでつらつらと。
Automator を使った Finder 用サービスのサンプルです。Finder で選択したファイルをコンテキストメニューからターミナルアプリケーションを経由して Wine で実行します。 WINELOADER の部分は MacPorts 用なのでそれ以外の場合はパスを変更して下さい。ター…
Wine で msi ファイルを開く時は… $ wine msiexec /i hoge.msi な感じで実行するんですが、bin/msiexec なんてものを発見。これもしかして単体で実行できるんじゃないの?って調べてみたら出来るっぽい。 msiexec - The Official Wine Wiki というわけで起動…
sed でタブの削除や置換をしたりする話です。
QuickTime Player.app は同じファイルを複数のプレイヤーで起動できないが、open コマンドの -n オプションを使うことで複数起動できる。-a オプションでアプリケーションの指定がなければデフォルトのアプリケーションで起動する。 open -na "/Applications…
ffmpeg をインストールすると ffplay も一緒にインストールされる。Mac でも VLC や GOM Player、Perian をインストールしておけばほとんどの動画は再生できるので ffplay が必要になることはあまりない。強いて ffplay の魅力をあげるとするならば「同一、…
Automator と ffmpeg を使って Finder の選択項目から音声を抜き出したりするためのシェルスクリプトを考えてみた。サービスとして登録し、Finder のコンテキストメニューから呼び出せばターミナル上で ffmpeg を使って処理を行う。拡張子抽出部分はテストソ…
ちょっと tar の勉強中なので Finder から選択したアーカイブ内のファイル一覧をテキストエディタで開くシェルスクリプトを考えてみた。 # mode: stdin while read f do [ ! -f "$f" ] && continue ### open in term ### #tmp=/tmp/`uuidgen` case "${f##*.}…
この前、XZ Utils を使ったワークフローを作ったけど、--threads オプションを使っているのにスレッド数が増えないのでマニュアル見直したら「マルチスレッドにまだ対応してない」みたいなことが書いてあったので p7zip を使うことにした。 # mode: stdin wh…
MacPorts 版を使ってるけどセルフビルドを試してみたかったので。 MacPorts のポートファイルを見てみたら makefile.machine を変更することでカスタマイズできそう。makefile.macosx_64bits を makefile.machine にコピーして OPTFLAGS=-O を OPTFLAGS=-O3 …
Windows のアーカイバはファイルマネージャーを搭載していることがほとんどだけど、Mac ではあまり見かけない。コマンドラインなら p7zip や zipinfo を使ったりもできるけど、そこからさらに選択したファイルだけを解凍…となると GUI の方が楽だったりする…
Finder では複数の選択項目をひとつのアーカイブにすることはできても、個別にアーカイブ化することができないので Automator でアプリケーションを作ってみた。日付別なんかで JPEG イメージが保存されたディレクトリを個別に ZIP 化するのが目的。 ファイ…