2017-04-06 123 views
0

我想將mkdir命令的輸出分配給一個變量。所以我可以進一步使用該目錄。將mkdir命令的輸出分配給變量

-bash-4.1$ pwd 
/user/ravi/myscripts/tmpdata 
-bash-4.1$ OUTPUT=$(mkdir tmpbkp.`date +%F`) 
-bash-4.1$ ls | grep tmp 
tmpbkp.2017-04-06 
-bash-4.1$ echo "$OUTPUT" 

但是目錄名不是分配給變量。請你糾正我錯在哪裏。

回答

6

當您通過自身運行mkdir命令,看看它有多少輸出產生:

$ mkdir foo 
$ 

無!

當您使用命令替換生成參數MKDIR,看多少額外的輸出你:

$ mkdir tmpbkp.`date +%F` 
$ 

無!

當你把它放在$()裏面時,它仍然沒有輸出。

mkdir(至少在GNU版本中)有一個-v選項,它會產生一些輸出,但它可能不是你想要的。

你想在變量中的目錄名稱?先把它放在一個變量中,然後調用mkdir。

$ thedir=tmpbkp.`date +%F` 
$ mkdir $thedir 
$ echo $thedir 
tmpbkp.2017-04-06 
$ 
+0

這個作品kike一個冠軍。非常感謝,謝謝 –

相關問題