Cmder: 等号でエイリアスを作成すると、cmdercliで切り捨てられます

作成日 2017年02月02日  ·  3コメント  ·  ソース: cmderdev/cmder

タイトルごとに、cmderプロンプトで等号のエイリアスを作成しようとすると、 =付属しているものが切り捨てられ、 user-aliases.cmdファイルに正しく保存されません。

例:
λ alias wifi=netsh wlan show profile $1 key=clear
次のように保存されます:
wifi=netsh wlan show profile $1 ke

$reasons cmderはy=clearを評価に値する$somethingとして読み取るため、実際のエイリアス保存プロセスから切り離されていると思います。 ファイルを手動で編集すると、この問題をすばやく解決できます。

増え続けるEffinのマニュアルで、正確に読んでいないものを露骨に見逃していますか? 😛

最も参考になるコメント

doskeyコマンド(エイリアスがラップする)が例を処理しているように見えるため、これはalias.batスクリプトのバグである可能性があります。

alias.batを変更し、最初の行を<strong i="6">@echo</strong> on変更することで、デバッグできます。 ここで見てみると、スクリプトが「=」を区切り文字として使用してエイリアス文字列を分割し、文字列に=が1つだけあると想定している点があることがわかります。

修正方法は次のとおりです。alias.batで、「:: validate alias」という行を見つけ、次の行で「2」を「*」に置き換えます。

for / f "delims == tokens = 1、* usebackq" %% G in( echo "%_x%" )do(

これはあなたの例で私のために働くようです。

全てのコメント3件

doskeyコマンド(エイリアスがラップする)が例を処理しているように見えるため、これはalias.batスクリプトのバグである可能性があります。

alias.batを変更し、最初の行を<strong i="6">@echo</strong> on変更することで、デバッグできます。 ここで見てみると、スクリプトが「=」を区切り文字として使用してエイリアス文字列を分割し、文字列に=が1つだけあると想定している点があることがわかります。

修正方法は次のとおりです。alias.batで、「:: validate alias」という行を見つけ、次の行で「2」を「*」に置き換えます。

for / f "delims == tokens = 1、* usebackq" %% G in( echo "%_x%" )do(

これはあなたの例で私のために働くようです。

手元にある問題を詳しく説明していただきありがとうございます。私はCMDの初心者なので、非常に役立ちます。 :)
私はあなたの修正が問題を修正したことを確認できます、ありがとう! PRをするべきですか?

修正を加えてプルリクエストを作成できます。 それがあなたのために働くことを確認してくれてありがとう。

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

AaronKaa picture AaronKaa  ·  3コメント

vincentntang picture vincentntang  ·  3コメント

jenisys picture jenisys  ·  3コメント

giuliannosbrugnera picture giuliannosbrugnera  ·  3コメント

tfarina picture tfarina  ·  3コメント