sambaサーバ上のUNIXのパスをUNCに変換して表示する
以前に「sambaのUNCのパスでcdする」処理を書いたのですが、今回はこれの逆パターンで「sambaサーバ上のUNIXのパスをUNCに変換して表示する」という処理を書いてみました。
pslabo.hatenablog.com
手抜きの実装なので、あんまりキレイに書いてません。。。
pwd コマンドをオーバーライドする形でシェルの関数にしていますので、これを .bash_profile あたりに記述して頂ければOKです。
現在のパスが samba の共有パスの場合だけ、通常の pwd コマンドの出力に併記する形でUNCを出力します。
本当は smb.conf あたりを参照して処理すれば汎用的に使えるのでしょうけれど、そこまでのモチベーションが無いので。。。別記事にて、smb.conf を参照する試験実装の話をネタにしてみました。
mypwd () { \pwd readlink -f $( \pwd ) | awk ' { $1 = gensub( /\/home\/samba\//, "\\\\\\\\[sambaのサーバ名]\\\\", "" ) $1 = gensub( /\//, "\\", "g" ) print $1 }' | grep "[sambaのサーバ名]" } alias pwd=mypwd