Help us understand the problem. What is going on with this article?

ディレクトリ移動したらls pushd popd cd autocd対応版

More than 3 years have passed since last update.

cd実行後にlsを実行するには他のサイトでも紹介されているようにcdのaliasを定義すればいい。

じゃあpushdは? popdは? autocdは?
となるといちいち全部のalias定義するのは面倒だからディレクトリを移動したらlsするようにする

ディレクトリを移動したら自動でls

.bashrcあたりに下記のコードを追記する。

autols(){
  [[ $AUTOLS_DIR != $PWD ]] && ls
  AUTOLS_DIR="${PWD}"
}

export PROMPT_COMMAND="autols" 

最後の行が肝心で、PROMPT_COMMANDにコマンド名を設定するとプロンプトが表示される前に、そのコマンドが実行される。

ターミナル起動時には実行しない

上記のコードだと新しくターミナルを立ち上げるとホームディレクトリの内容が表示されて個人的には鬱陶しい。

autols(){
  [[ -n $AUTOLS_DIR ]] && [[ $AUTOLS_DIR != $PWD ]] && ls
  AUTOLS_DIR="${PWD}"
}

export PROMPT_COMMAND="autols" 

る。

別の書き方もあるので紹介する。

起動時にAUTOLS_DIRに値を設定しておく

AUTOLS_DIR="$PWD"
autols(){
  [[ $AUTOLS_DIR != $PWD ]] && ls
  AUTOLS_DIR="${PWD}"
}

export PROMPT_COMMAND="autols" 

変数展開を使う

シェルの変数展開

autols(){
  [[ ${AUTOLS_DIR:-$PWD} != $PWD ]] && ls
  AUTOLS_DIR="${PWD}"
}

export PROMPT_COMMAND="autols" 

おまけ

lsで色がでない

Linuxの場合は下記のようにlsにオプションを渡せばいい。

ls --color=always

OSXなどDarwinもオプションを渡せばいいのだが、手元に環境がないため各自で調べて欲しい。

autocd

ちなみにちなみに.bashrcに

shopt -s autocd

と書くとcdを省略して/etcとか~/Downloadsとかでディレクトリを移動できるようになる。

zshの場合

setopt autocd
autoload -Uz add-zsh-hook
add-zsh-hook precmd autols

autols(){
  [[ ${AUTOLS_DIR:-$PWD} != $PWD ]] && ls
  AUTOLS_DIR="${PWD}"
}

詳しい説明は省くが、add-zsh-hook precmd autolsがbashのexport PROMPT_COMMAND="autols"にあたる。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした