開頭我想在Bash中使用if
/then
聲明,我似乎無法使其工作。我想說的是「如果該行以>
字符開始,那麼做這個,否則做別的事情」。Bash:如果行以>
我:
while IFS= read -r line
do
if [[$line == ">"*]]
then
echo $line'first'
else
echo $line'second'
fi
done
但它無法正常工作。 我也試圖逃避「>」說:
if [[$line == ^\>*]]
哪個也沒有工作。 我得到這個錯誤的兩種方法:
line 27: [[>blah: command not found
建議?
我d建議使用'='而不是'==' - 否則你的習慣會咬你如果你曾經在純POSIX shell(運算符是'=',而不是'==')上使用'[「$ foo」==「$ bar」]''。 –
@mbratch,你正在使用模式語法(其中錨定是隱式的)混合RE語法(其中'^'是合適的)。 –
@CharlesDuffy我並沒有試圖讓這個部分正確,這不是我的觀點。我只是舉例說明了使用op的例子。我的觀點是關於空間。 – lurker