1. 程式人生 > >shell中syntax error near unexpected token `fi'錯誤

shell中syntax error near unexpected token `fi'錯誤

一、原始碼

#! /bin/bash

 

if [ $# -eq 0 ]

then

echo  "$0 filename"

exit

fi

 

if [ $# = 1 ]

then

if ! [ -c $1 ]

then

echo "$1 is not a c-file"

exit

fi

else

sudo cp $1 /dev

echo "$1 copied"

fi

二、拷貝過來執行報錯

[email protected]:~/makeru$ bash 1.sh

1.sh: line 2: $'\r': command not found

1.sh: line 19: syntax error near unexpected token `fi'

1.sh: line 19: `fi'

三、問題原因

    在windows,換行用的兩個符號,回車\r,換行符號\n,在linux下是一個符號\n。

三、解決方法

    在vi的底行模式下輸入set fileformat=unix,然後儲存退出就可以了。