[英]Bash shell scripting - Error setting variables
我是bash腳本的新手。 我嘗試了以下方法:
filename01 = ''
if [ $# -eq 0 ]
then
filename01 = 'newList01.txt'
else
filename01 = $1
fi
我收到以下錯誤:
./smallScript02.sh: line 9: filename01: command not found
./smallScript02.sh: line 13: filename01: command not found
我想我沒有正確對待變量,但我不知道如何。 另外,我正在嘗試使用grep從文本文件中提取第二個和第三個單詞。 該文件如下所示:
1966 Bart Starr QB Green Bay Packers
1967 Johnny Unitas QB Baltimore Colts
1968 Earl Morrall QB Baltimore Colts
1969 Roman Gabriel QB Los Angeles Rams
1970 John Brodie QB San Francisco 49ers
1971 Alan Page DT Minnesota Vikings
1972 Larry Brown RB Washington Redskins
任何幫助,將不勝感激
在bash中分配變量時,在=
號的兩邊都不應有空格。
# good
filename0="newList01.txt"
# bad
filename0 = "newlist01.txt"
對於第二個問題,請使用awk
not grep
。 下面將從名稱存儲在$filename0
中的文件的每一行中提取第二和第三項:
< $filename0 awk '{print $2 $3}'
在bash(和其他bourne-type shell)中,如果變量為空或未設置,則可以使用默認值:
filename01=${1:-newList01.txt}
我建議花一些時間使用bash手冊: http : //www.gnu.org/software/bash/manual/bashref.html
這是一種提取名稱的方法:
while read first second third rest; do
echo $second $third
done < "$filename01"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.