2016-03-17 73 views
1

我試圖將filename:filesfullpath添加到隱藏文件中,因此每次用戶運行腳本並調用文件時,文件和完整文件路徑都會添加到隱藏文件中,通過以下方式提出:將東西添加到隱藏文件

filename:filepath 
filename:filepath 

.. 

我知道如何讓文件名和文件路徑,但我不知道如何把它們都放在一個符合結腸和進入隱藏文件。

flink=$(readlink -e $1) 
fname=$(basename $flink) 

fname":"flink >> .hiddenfile 

但顯然沒有奏效。

+0

乾脆'echo'嗎?現在你的「字符串」正在作爲命令執行,並且明顯失敗 – Pankrates

回答

2

引用您的變量。例如:

flink=$(readlink -e "$1") 
fname=$(basename "$flink") 

echo "${fname}:${flink}" >> /path/to/.hiddenfile 
+0

你介意解釋爲什麼我們需要使用引號,而$ {variable}意味着什麼時候仍然無法知道何時使用該引號。 – Nabz

+0

@Nabz無法使用引號或括號可能會導致各種分詞和變量擴展問題。你應該幾乎總是把它們包含在防禦性編程中,儘管有經驗的程序員可能會在不希望出現分詞或引用的特殊用例中忽略它們。對於初學者,請參閱:[參數擴展](http://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html),[Quoting](http://www.gnu.org) /software/bash/manual/html_node/Quoting.html)和[Word Splitting](http://www.gnu.org/software/bash/manual/html_node/Word-Splitting.html)。 –

相關問題