.sh 的问题

lanita 2011-10-19 09:07:07
01_before_file_upload文件下有四个文件夹,两个文件,分别是:
csv(文件夹)
ctl(文件夹)
log(文件夹)
sql(文件夹)
101_load_and_validation.sh
setenv.sh
------------------------------------------------------------
其中setenv.sh中的内容如下:
DB_NAME=cmsanzdb
DB_USER=lanita
DB_PASSWORD=lanita
---------------------------------------------------------------
其中101_load_and_validation.sh中的内容如下:
. ./setenv.sh

rm log/*.log
rm log/*.bad
rm log/*.dsc

sqlplus $DB_USER/$DB_PASSWORD@$DB_NAME @sql/101_generate_disable_constraints_sql.sql
sqlplus $DB_USER/$DB_PASSWORD@$DB_NAME @sql/101_disable_constraints.sql
sqlplus $DB_USER/$DB_PASSWORD@$DB_NAME @sql/101_clear_data_setup_from_master.sql

sqlplus $DB_USER/$DB_PASSWORD@$DB_NAME @sql/101_create_ds_tables.sql

sqlldr userid=$DB_USER/$DB_PASSWORD@$DB_NAME data=csv/HOLIDAY.csv control=ctl/HOLIDAY.ctl bad=log/HOLIDAY.bad discard=log/HOLIDAY.dsc log=log/HOLIDAY.log > log/101_load_and_validation.log 2>&1
--------------------------------------------------------------
我在cygwin中执行
./101_load_and_validation.sh

出现下面的错误:
Administrator@CRMSERVER /cygdrive/d/share/lanita/01_before_file_upload
$ ./101_load_and_validation.sh
: No such file or directoryh: line 1: ./setenv.sh
./101_load_and_validation.sh: line 2: $'\r': command not found
rm: cannot remove `log/*.log\r': No such file or directory
rm: cannot remove `log/*.bad\r': No such file or directory
rm: cannot remove `log/*.dsc\r': No such file or directory
./101_load_and_validation.sh: line 6: $'\r': command not found


请问是什么原因呢?应当怎么解决呢?






...全文
58 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Linux-Torvalds 2011-10-19
  • 打赏
  • 举报
回复
这显然是DOS/Windows换行符引起的问题,\r一般不会打印出来的。
zhangyisc 2011-10-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lanita 的回复:]

呵呵,解决了。。
dos2unix 101_load_and_validation.sh
就成了
[/Quote]
恭喜
zhangyisc 2011-10-19
  • 打赏
  • 举报
回复
在shell中,最好给出绝对路径,不要使用相对路径。
向良玉 2011-10-19
  • 打赏
  • 举报
回复
注意路径。。
lanita 2011-10-19
  • 打赏
  • 举报
回复
呵呵,解决了。。
dos2unix 101_load_and_validation.sh
就成了
曳尾之鱼 2011-10-19
  • 打赏
  • 举报
回复
. ./setenv.sh 可以先cd ..再./setenv.sh

\r出错是回车键有问题

rm你换成绝对路径

2,161

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 UNIX文化
社区管理员
  • UNIX文化社区
  • 文天大人
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧