ディレクトリが$ HOMEのサブディレクトリである場合にのみディレクトリにCDを挿入すると、ディレクトリの内容が自動的に一覧表示されます。

ディレクトリが$ HOMEのサブディレクトリである場合にのみディレクトリにCDを挿入すると、ディレクトリの内容が自動的に一覧表示されます。

Redditスレッドで.bashrc入力したディレクトリを自動的に表示するコンテンツのリストに追加できる次の短い部分が見つかりました。cd

cd() {
    builtin cd "$@" && ls
}

これは素晴らしいですが、cd私がいるフォルダが$HOME

ベストアンサー1

ls次のコマンドは、現在のディレクトリ(変更の成功後)がユーザーのホームディレクトリまたはそのサブディレクトリの場合にのみ実行されます。

cd () {
    builtin cd "$@" || return

    case $PWD in
        "$HOME"|"$HOME"/*) ls
    esac
}

または、以下のa[ ... ]とテストを使用してください。[[ ... ]]bash

cd () {
    builtin cd "$@" || return

    if [ "$PWD" = "$HOME" ] || [[ $PWD == "$HOME"/* ]]; then
        ls
    fi
}

または、拡張グロービングモードを使用してくださいbash

cd () {
    builtin cd "$@" || return

    if [[ $PWD == @("$HOME"|"$HOME"/*) ]]; then
        ls
    fi
}

おすすめ記事