2017-05-30 8 views
0

I以下$HOME/.zshrcのファイルがあります。ないようなイベント:1

[[email protected]]/vagrant% cat ~/.zshrc 
#!/usr/bin/env zsh 
# BEGIN ANSIBLE MANAGED BLOCK 
if [ $(history | wc -l) -eq 0 ]; then 
    # we've just shelled in; "magically" cd into the vagrant shared folder 
    cd "/vagrant" 
fi 
# END ANSIBLE MANAGED BLOCK 

私はバッシュと同じスクリプトを使用していますし、それだけで正常に動作します。最初のログイン時にユーザに履歴はなく、/vagrantに魔法のように転送されます。

私はこの$HOME/.zshrcと、このボックスにログインすると、私は次のエラーを参照してください。私はこれが何を意味するのか分からないとGoogleが結果に私をリードされていない

/home/vagrant/.zshrc:fc:3: no such event: 1 
[[email protected]]/vagrant% 

を。明らかにコードは機能しますが、これは何らかのエラーのようです。

アイデア?既往がないとき

+0

あなたが'#を必要としないの/ usr/binに/ envをzsh'! – anubhava

答えて

0

どうやら、zshさんhistoryコマンドは、そう、エラーを発する:

#!/usr/bin/env zsh 
# BEGIN ANSIBLE MANAGED BLOCK 
if [ $(history 2>/dev/null | wc -l) -eq 0 ]; then 
    # we've just shelled in; "magically" cd into the vagrant shared folder 
    cd "/vagrant" 
fi 
# END ANSIBLE MANAGED BLOCK 

これ以上のエラーを。

2

history組み込みコマンドを呼び出して、行を数える必要はありません。

~/.zshrcHISTCMDの変数がゼロであることだけを確認できます。 HISTCMDは、履歴の現在のコマンドシーケンス番号を表します。

だからあなた~/.zshrcは、単に、このことができます:〜/ .zshrc` `で

# BEGIN ANSIBLE MANAGED BLOCK 
if [[ $HISTCMD -eq 0 ]]; then 
    # we've just shelled in; "magically" cd into the vagrant shared folder 
    cd "/vagrant" 
fi 
# END ANSIBLE MANAGED BLOCK 
関連する問題