2015-12-05 119 views
-2

我希望能夠顯示我的命令列表文件的內容,但每當我做它只是打印出「./commands.txt」,但如果我嘗試在我的腳本以外的相同的東西它工作得很好。爲什麼貓不能在我的bash腳本中工作?

這是我的代碼:

helpFile="./commands.txt" 

if [ "$com" = "help" ] 
then 
cat $helpFile 
fi 
+0

$ COM是一個變量,我用它來確定用戶輸入了什麼命令。你在我的帖子上看到的只是一個命令。 順便說一句,它沒有工作:/ – NanoCoder

+1

你是說,而不是'commands.txt'的內容,你只看到文字輸出'./ commands.txt'並沒有像「沒有這樣的文件或目錄?「 –

+0

我使用read-command來設置$ com。 – NanoCoder

回答

2

我沒有看到你從$com變量,但如果你把它根據第一個參數這應該工作:

#!/bin/bash 

helpFile="./commands.txt" 
com=$1 

if [ "$com" = "help" ] 
then 
    cat $helpFile 
fi 

在上面的示例中,$com將設置爲傳遞給腳本的第一個參數,因此如果您想顯示./commands.txt的內容,則可以將其稱爲./<script.sh> help

我還以爲你應該檢查,以便該文件確實在當前工作目錄中存在或可能嘗試使用絕對路徑即:

helpFile="/home/commands.txt" 
0

我發現了什麼是錯誤的。我的文本編輯器搞砸了,並將所有新編輯的內容保存在桌面上,而不是包含腳本和文本文件的文件夾。無論如何,感謝所有的幫助傢伙,我真的很感激它:)

+2

您應該刪除問題。這個問題不可能在未來幫助其他人。 – chepner

+0

這真的是唯一的問題嗎?我仍然不明白你從哪裏得到'$ com'變量? – Cyclonecode

相關問題