我有一个在Windows中工作的SQL Loader bat文件。我正在尝试将其转换为Linux脚本,但遇到各种错误。

这是Windows蝙蝠:

sqlldr user@database/password ^
       control='.\Control\control_file.ctl' ^
       data   ='.\Data\data_file.txt' ^
       log    ='.\Log\log_file.log' ^
       bad    ='.\Bad\bad_file.bad'


这是我创建的Linux版本:

sqlldr userid = user@database/password
       control ='../ctl/control_file.ctl'
       data   ='../data/data_file.txt'
       log    ='../log/log_file.log'
       bad    ='../bad/bad_file.bad'


看来我的格式有误。任何帮助将不胜感激。

最佳答案

要继续执行shell脚本中的行,您需要在末尾添加`(类似于批处理脚本在末尾添加^`)。

或者,将其全部放在一行上。

此外,这些参数中的空格可能无法在外壳中正常工作,因此请将其删除(例如,data ='.. / data / data_file.txt')

关于linux - 将SQL Loader从Windows bat转换为Linux Shell脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27362040/

10-11 04:13