簡體   English   中英

僅打印命名目錄的別名?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM