Alias Cd to Pushd - 良いアイデアですか?

Alias Cd to Pushd - 良いアイデアですか?

次のエイリアスを使用することをお勧めします。

cd() {
    pushd $1;
}

バッシュから?

popd1つだけを使用するのではなく、一連のsを使用できるので、これは非常に便利だと思いますcd -

問題が発生する可能性がある状況はありますか?

ベストアンサー1

個人的には、私はbashrcに次のものを持っており、常に使用しています。

pushd()
{
  if [ $# -eq 0 ]; then
    DIR="${HOME}"
  else
    DIR="$1"
  fi

  builtin pushd "${DIR}" > /dev/null
  echo -n "DIRSTACK: "
  dirs
}

pushd_builtin()
{
  builtin pushd > /dev/null
  echo -n "DIRSTACK: "
  dirs
}

popd()
{
  builtin popd > /dev/null
  echo -n "DIRSTACK: "
  dirs
}

alias cd='pushd'
alias back='popd'
alias flip='pushd_builtin'

その後、ブラウザのようにコマンドラインをナビゲートできます。cdディレクトリを変更します。back以前にcd編集したディレクトリに移動します。flip現在のディレクトリと前のディレクトリの間をディレクトリスタックから取り出すことなく移動します。全体的に見事に動作します。

私が知っている唯一の実際の問題は、これが私に完全に慣れていますが、他の人のコンピュータには存在しない一連の命令であるということです。したがって、他の人のコンピュータを使用する必要がある場合は、少し面倒なことがあります。pushdそして直接使用に慣れている場合、popdこの問題は発生しません。エイリアスcdを入れずにエイリアスを指定すると、存在しない問題は発生しませんが、popd他のコンピュータでは目的の効果が得られないという問題が引き続き発生しますbackcd

しかし、あなたの特定の実装は、一般自体がホームディレクトリに移動するcdように正確には機能しませんが、あなたの実装はそうではないことを指摘したいと思います。ここにあるバージョンにはこの問題はありません。私も印刷物の前に追加されますが、これは個人的な好みの問題です。cdcdDIRSTACKdirs

だから私が言ったように、私はいつもこれらのエイリアスを使用しており、問題はありません。他の機械を使用する必要がありますが、そこにいないことがわかると、少しがっかりする可能性があります。 (驚くべきことではありませんが、あまりにも頻繁に使用して考えることができないマシンの1つです。)それでも驚くことができます。

おすすめ記事