Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

作った関数が"/usr/bin/bash: foobar: command not found"いうて怒られたら、exportで関数として認識させてやる必要があるかもしれない

端末上で関数を定義すると、単体でならそのまんま読みだす事ができます。

$ function foobar () {
> echo $1 + $2
> }

$ foobar 12 34
12 + 34

ところが、paralell等々で読みだそうとすると動かないことが

/usr/bin/bash: foobar: command not found

こういうときは、exportコマンドの”-f”オプションで関数として認識させてあげると、解決することがあります。

export -f foobar