Re: [問題] alias [change dir]

看板Linux作者 (一步一腳印)時間14年前 (2011/08/31 08:42), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串3/3 (看更多)
※ 引述《mswethan (@竹北)》之銘言: : 每次cd 到別的目錄後,下個動作一定是ls,看一下該目錄內有哪些東西... : 這樣子真的很麻煩.. : cd xx ls : cd yy ls : ... : 我想要alias cd指令,使它做三個動作.. : 1. change dir : 2. clear : 3. ls : 使用的是bash,第一個動作不曉得有沒有人知道該如何設定?? : alias cd='_____;clear;ls' : 感謝 借標題一問 我想做到上述的功能 但唯有cd到家目錄時不列出檔案清單 我的寫法如下: alias la='ls -FA --color=auto' cd() { builtin cd "$1"; if [ "$1" != "$HOME" ]; then la; fi; } 但這寫法有兩個問題 1. user@local_host:~ $ cd folder_1 file_1 file_2 file_3 => 預期地顯示檔案清單 user@local_host:~/f1 $ cd .. .bashrc .vimrc .vim .bash_profile => 不應該顯示檔案清單卻顯示了 (原因應該是".."沒被expand成$HOME的內容) 2. user@local_host:~ $ cd folder_2 bash: cd: folder_2: No such file or directory .bashrc .vimrc .vim .bash_profile => 不應該顯示檔案清單卻顯示了 (原因是folder_2資料夾不存在, if判斷式就成立了) 問題2比較好處理, 檢查cd的路徑是資料夾而非檔案, 且存在即可 問題1我還不知道怎麼解, 請問有什麼解法嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.31.149

08/31 08:48, , 1F
改成檢查 $PWD 如何?
08/31 08:48, 1F
成功了~謝謝 if [ "$PWD" != "$HOME" ]; then la; fi;

08/31 10:26, , 2F
用 realpath 更好,能應付有 soft link 的情形
08/31 10:26, 2F
什麼意思?能說詳細點嗎 ※ 編輯: Holocaust123 來自: 140.112.31.149 (08/31 11:01)

08/31 13:06, , 3F
例如: ln -s $HOME /tmp/myhome 再 cd /tmp/myhome 試看看
08/31 13:06, 3F

08/31 13:07, , 4F
用 realpath 可以解決 soft link 產生的問題
08/31 13:07, 4F
文章代碼(AID): #1ENODgj2 (Linux)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
文章代碼(AID): #1ENODgj2 (Linux)