2011-10-03 36 views
2

我想創建一個別名,將打印出當前工作目錄的子名稱。當前工作目錄輸出的別名

我有這樣的:

BASENAME=${PWD##*/} 
alias wai="echo $BASENAME" 

此輸出目錄的.bashrc的目錄子名被保存在我想這是當前的工作目錄。

對不起,如果這很簡單,我是新來的bash。

+0

你可以只使用PWD,沒有別名。 –

+0

我需要在另一個別名中實際使用基本名稱,而不僅僅是打印它。我使用這個別名(wai)在我繼續之前嘗試提取基本名稱。 –

+0

**親愛的Google搜索者**:請檢查您的報價,對於我來說簡單的解決方法是在別名定義中使用單引號'''而不是雙引號'''。請參閱下面的@kgong的答案以獲取更多信息 – EntropyWins

回答

3

有這個命令:

$ pwd 
/path/to/current/directory 

我缺少的東西?根據您的評論

編輯

alias foo="pwd | rev | cut -d '/' -f1 | rev" 
+0

情況下,我想打印只是「目錄」 我使用到其他的別名,這將是這樣的: '別名winitio =「從頭-i $ BASENAME $ 1」' 我上面貼的別名是剛提取基準名稱 –

+0

編輯答案與可能的解決方案 – jman

+0

我怎麼會得到一個變量,而不是輸出? –

0

什麼

alias wai='basename $PWD' 
5

訣竅是真的只是在單引號。我相信你可以通過執行以下操作做到這一點:

'echo ${PWD##*/}' 

更多細節:Difference between single and double quotes in Bash

+0

我認爲這實際上是我正在尋找的答案,因爲它導致了基於問題的預期行爲作爲參考,我使用以下別名來啓動相應的python venv從項目目錄匹配該項目,如下所示:alias use-env ='source〜/ env/$ {PWD ## * /}/bin/activate' – EntropyWins