2015-03-31 66 views
0

你好我正在嘗試爲我的shell腳本創建參數,但是我遇到了麻煩。爲命令創建參數Linux shell腳本

讓我們說例如文件被稱爲測試。

當我打電話給./test -parameter1 input_file.txt 我收到一個錯誤,說'沒有這樣的文件或目錄'。

這是我的代碼的一個例子。

#!/bin/sh 

if [ "$1" == "parameter" ] 
then 
    while read line 
    do 
     #echo "$line" 
    done <$1 
else 
    echo "Not working" 
fi 

我在這一切的目標是通過我有工作,然後計算行或列平均值線號線的讀取文件。這就是爲什麼我要創建參數,因此用戶必須指定./test -rows input_file.txt./test -columns input_file.txt

+0

如果你命名你的腳本''而不是'test',這將會更清楚。 (這是對微妙幽默的一種嘗試,我的意思是你不應該將你的腳本命名爲'test',因爲這通常是shell內建的,並且保留這​​個名稱只會導致混淆。) – 2015-03-31 16:41:36

+0

我有我的腳本叫'統計「,只是使用'測試'作爲一個通用的例子。感謝您的輸入,但我剛開始學習和實踐Linux shell腳本。 – 2015-03-31 17:10:38

回答

1

您正在使用字符串-parameter作爲輸入文件名。也許你想要:

#!/bin/sh 

if [ "$1" = "-parameter" ] 
then 
    while read line 
    do 
     #echo "$line" 
    done <$2 # Use $2 instead of $1 here. Or use shift 
else 
    echo "Not working" >&2 
fi 
+0

謝謝,它現在有效。 – 2015-03-31 16:54:09