pythonモジュールへのパスを取得するためのzsh関数を記述しようとしています。zsh関数内でのコマンド出力のキャプチャ
これは動作します:
pywhere() {
python -c "import $1; print $1.__file__"
}
をしかし、私が本当に欲しいと、ファイル名のないディレクトリパスです。これは動作しません:
pywhere() {
dirname $(python -c "import $1; print $1.__file__")
}
注:これはbashでは動作しますが、zshでは動作しません!
EDITこれは誤りです:
~ % pywhere() {
function → dirname $(python -c "import $1; print $1.__file__")
function → }
File "<string>", line 1
import pywhere() {
^
SyntaxError: invalid syntax
これは正しく表示され、私のために働く。どのようにあなたのために働かないのですか? – Gilles
ああ - ちょうど別のシステムで同じ気づいたが正常に動作します。だから、私のzsh構成の何かでなければなりません。 – bee
私はpreexecでtitle関数を使用するとエラーが発生します。ここから: http://dotfiles.org/~_why/.zshrc 私は今これについてコメントしました。なぜこれが関数の定義を妨げるのか正確にはわかりません。 – bee