2017-05-31 9 views
1

に再帰的に実行.zshrcに以下の別名があります。エイリアスは、私はああ、私の-zshの使用していOSX

$ composer 
Could not open input file: composer: 

とするために:私は次の出力を得る

alias composer="php -d memory_limit=-1 $(which composer)" 

$ which composer 
composer: aliased to php -d memory_limit=-1 composer: aliased to php -d memory_limit=-1 composer: aliased to php -d memory_limit=-1 /usr/local/bin/composer 
$ zsh --version 
zsh 5.2 (x86_64-apple-darwin15.4.0) 

Linuxの下では、期待通りに動作します:

$ which composer 
composer: aliased to php -d memory_limit=-1 /usr/bin/composer 
$ zsh --version 
zsh 5.3.1 (x86_64-unknown-linux-gnu) 

答えて

1

これは、OS XまたはLinux上での使用、または画面の使用とは関係ありません。コマンドを実行したように見えます。

alias composer="php -d memory_limit=-1 $(which composer)" 

複数回です。これcomposerの再帰的定義につながる:

composer: aliased to php -d memory_limit=-1 composer: aliased to php -d memory_limit=-1 composer: aliased to php -d memory_limit=-1 /usr/local/bin/composer 

ことが明らかにするために改行を追加する:

composer: aliased to php -d memory_limit=-1 \ 
composer: aliased to php -d memory_limit=-1 \ 
composer: aliased to php -d memory_limit=-1 \ 
/usr/local/bin/composer 

which composerの最初の使用は、/usr/local/bin/composer(または同様のパス)を返しますが、次の使用composer: aliased to ...を返します。これにより、入力ファイルcomposer:(コロンに注意してください)が見つかりませんというエラーメッセージが表示されます。

alias composer="php -d memory_limit=-1 $(which -p composer)" 
+1

うまくいった。 zsh以外のユーザーへの注釈:zshでは、 '_'は_aliases_の定義も報告する_builtin_です。 – mklement0

-1

これはGNU screenセッションの問題でした。新しいscreenウィンドウを作成すると、エイリアスは正常に動作します。

+1

これを:おそらく、ほとんどの部分のために動作しますが、あなたはパラメータ-pで(組み込みコマンド、エイリアスと関数を無視して)パスを探すために、明示的にwhichを伝えることができ、安全であることを一度だけ別名を定義

最初に 'screen'をどのように使っていたのかを説明せずに答えは役に立たず、そのような説明は誰にとっても有用ではないでしょう。私はその質問を削除するだけです。 – chepner

関連する問題