やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Bashでimportを再現する3(名前のプレフィクスにディレクトリ名とファイル名をつける)

 関数名をdir.file.funcのような名前にリネームする。

成果物

実行

git clone https://github.com/ytyaru/Shell.import.prefix.dir.file.name.20200121000000
cd ./src
./main.sh

importの準備

  1. moduled_import.shファイルをimportにリネームする
  2. importファイルが存在するディレクトリを環境変数PATHに通す

importの呼出例

  • repo/
    • main.sh
    • sub/
      • lib.sh

sub/lib.sh

Func() { echo 'Called sub/lib.sh Func()'; }

main.sh

. import sub/lib.sh
sub.lib.Func

前回まで

注意

  • import自体を.(source)コマンドで読み込む必要がある
  • バグ:ディレクトリまたはファイル名にスペースがある場合
    • 原因:スペースはシェルにおけるメタ文字であるため
    • 対策:スペースをハイフンなどの別の文字に変更する
  • インポートのルートディレクトリはimport呼出元ファイルが存在するディレクトリです

所感

 次はディレクトリ名やファイル名にスペースがあるときのバグを改修したい。

対象環境

$ uname -a
Linux raspberrypi 4.19.75-v7l+ #1270 SMP Tue Sep 24 18:51:41 BST 2019 armv7l GNU/Linux