2012-04-13 50 views
7

在我的腳本中,我將文件的位置(路徑)作爲變量保存。將目錄存儲爲一個變量,以便以後在Linux腳本中使用

例如,的fileA

其內容的一個例子是

的fileA =的/ usr/anotherfolder/somefold/「filenamehere」

然而,當我調用一個命令上的文件腳本如:

貓$的fileA

cat「$ fileA」

我收到一個錯誤消息,指出文件或目錄不存在。如果我回顯$ fileA來查看輸出是什麼,然後從終端手動運行一個貓,它可以正常工作,不知道發生了什麼問題。任何幫助?

一些調試信息:

  • 的fileA = '/家庭/雅各布/桌面/ CS35L/WORK/2/HW/TEST3/「新」'
  • 回聲「的/ home /雅各布/臺式機/ CS35L/WORK/2/hw/test3 /「new」' /home/jacob/Desktop/CS35L/WORK/2/hw/test3 /'new「
  • '[''!' -r '/家庭/雅各布/桌面/ CS35L/WORK/2/HW/TEST3/「新建」' ']'

對於這些特定行

檢查可讀的文件

echo $fileA 
if [ ! -r "$fileA" ] 
then 
    o=`expr $o + 1` 
    echo "$fileA not readable." 
    continue  
fi 
+0

試試'cat「$ fileA」'。祝你好運。 – shellter 2012-04-13 05:30:23

+0

已經試過這個,但它沒有改變結果 – jsjwooowooo 2012-04-13 05:32:46

+0

'$ fileA'是否包含特殊字符? – kev 2012-04-13 05:34:02

回答

10

如果文件名是new(不"new"),然後更改

fileA='/home/jacob/Desktop/CS35L/WORK/2/hw/test3/"new"' 

fileA=/home/jacob/Desktop/CS35L/WORK/2/hw/test3/new 
+0

報價我不相信我加入的單引號,任何知道他們是如何到達那裏?他們沒有回聲輸出顯示?我認爲這只是調試輸出語法 – jsjwooowooo 2012-04-13 05:44:49

+0

@jsjwooowooo我不明白你的調試信息 – kev 2012-04-13 05:50:21

+0

我剛剛用-xv命令運行腳本,這是輸出的內容 – jsjwooowooo 2012-04-13 05:51:49

相關問題