shell 脚本 if 语句不起作用

Qbo*_*ngo -2 shell-script

我写了那个脚本,但如果我运行它,我会得到这个输出:

./autotex: line 7: syntax error near unexpected token `then'
./autotex: line 7: `            then'
Run Code Online (Sandbox Code Playgroud)

脚本是:

#!/bin/bash

while [ $key = "q"]; do

        dateTex = grep $1.tex| cut -b 43 - 54
        datePdf = grep $1.pdf| cut -b 43 - 54
        if[$dateTex !eq $datePdf]
        then
                pdflatex $1.tex
        fi

        read -t 1 -n 1 key

done
Run Code Online (Sandbox Code Playgroud)

jll*_*gre 6

while [ $key = "q"]; do
Run Code Online (Sandbox Code Playgroud)

应该

while [ $key = "q" ]; do
Run Code Online (Sandbox Code Playgroud)

和

if[$dateTex !eq $datePdf]
Run Code Online (Sandbox Code Playgroud)

应该

if [ "$dateTex" != "$datePdf" ]
Run Code Online (Sandbox Code Playgroud)

更何况

dateTex = grep $1.tex| cut -b 43 - 54
Run Code Online (Sandbox Code Playgroud)

另一条类似的线被打破,应该是这样的:

dateTex=$(grep something $1.tex | cut -b 43-54)
Run Code Online (Sandbox Code Playgroud)