[英]An alias that just prints the named directory?
我只是在意識到終端的功能強大。 我的問題本質上是,是否可以創建一個僅顯示目錄名稱的別名。 例如,我可以輕松地創建一個別名,例如“ alias sitename =“ cd〜/ sites / path / to / my / site /”。但是我想要的是一個僅打印目錄名稱的別名,以便我可以使用它例如,如果需要,我可以說cd“ alias”或mv from-dir“ alias”。
有沒有辦法做到這一點? 我已經嘗試過了,如果我只是鍵入別名,它似乎可以識別該別名:它將報告“ alias”是一個目錄。 但是,如果我嘗試將其與另一個命令結合使用,它將失敗。
簡單地使用變量
d=/path/to/some/directory
echo $d
cd $d
mv somedir $d/
您無需在此處使用別名 , 變量就足夠了。
您不想使用alias
,所追求的只是一個環境變量
$ export SITENAME="~/sites/path/to/my/site/"
$ cd $SITENAME
Bash對語法非常挑剔-請注意,導出時和$
時都沒有空格。
聽起來您想設置一個變量,而不是別名。 例如sitename=/home/jimbo/
。 然后, cd $sitename
將把您放在/home/jimbo/
。
如果您希望此變量具有永久性(即,不必在每次打開新會話時都進行設置),則可以使用export
命令將其設置為環境變量,或將其添加到您的.bashrc
文件中(通常位於在$HOME/.bashrc
),使用以下行: sitename=/home/jimbo/
。
僅供參考, $HOME
是另一個等同於~/
環境變量。
使用變量是最簡單的解決方案。 您可能會喜歡上並使用一個數組:
mydir() { echo "/my/directory"; }
顯示值
mydir
要使用該值,您需要一些額外的標點符號
cd $(mydir)
cd `mydir`
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.