2

~/path/ には、プレフィックスで始まる名前のフォルダーがたくさんあり、非常に頻繁にアクセスする必要があります。「プレフィックスの例」でコマンド「cd ~/path/prefixexample」を実行するショートカットを.bashrcに作成しようとしています。

関数とエイリアスの両方で同じ問題が発生しました。

function prefix(){ "cd ~/path/prefix$1"; }

alias prefix="cd ~/path/prefix$1"

「プレフィックス 4」と入力すると (フォルダー パス/プレフィックス 4 は存在します)、次のようになります。

bash: cd: path/prefixnoclobber: No such file or directory

このマシンの管理者権限がないため、変更できないものがあります。

.bashrc にはすでにたくさんのものが含まれていますが、関連するのは「set noclobber」だけのようです。引数を文字列「noclobber」に置き換えることは、noclobber スイッチの機能の一部ではないと確信しており、このスイッチをコメントアウトしても効果はありませんでした。

4

1 に答える 1

2

エイリアス コマンドの$1は、エイリアス/関数の引数ではなく、セットアップ スクリプトの最初の引数 (明らかに「noclobber」) に置き換えられます。次の 2 つのことを行う必要があります。

  1. エイリアスを取り除きます。エイリアスは、あなたが望むことを行うのに十分なほど柔軟ではありませんが、エイリアスは同じ名前を持つ他のもの上書きします (したがって、より良い解決策を妨げます)。
  2. 関数を使用します。

    prefix() { cd ~/path/prefix"$1"; }
    
于 2012-10-28T08:15:46.633 に答える