在软件开发过程中,经常参与Linux从下一个脚本文件数据库sh格式改变sql格式问题。在本文中,一个实际的脚本文件,例如。描述格式转换过程。

       1. sh文件内容

本文中的文件名称为example.sh,其内容例如以下:

#!/bin/bash

function Init()

{

if [ -f"example.sql" ]

then

echo"example.sql is exits and is deleting it,then recreate it"

rm -fexample.sql

else

echo"example.sql no exits and is creating it"

fi

echo " usezxdbp_166 ">>example.sql

echo " go">>example.sql

}

function CreateTable()

{

cat>>example.sql<< EOF

create table tb_employeeinfo

(

employeeno        varchar(20)      not null,      -- 员工工号

employeename    varchar(20)      not null,      -- 员工姓名

employeeage       int                          null       -- 员工年龄

);

create unique index idx1_tb_employeeinfo ontb_employeeinfo(employeeno);

create index idx2_tb_employeeinfo ontb_employeeinfo(employeename);

print 'create table tb_employeeinfo ok'

go

EOF

}

## Execute function

Init

CreateTable

说明:

(1)  本文件用于创建tb_employeeinfo表。生成的脚本文件名称为example.sql。

(2)  Init函数用于在屏幕上输出信息,CreateTable函数用于创建数据表。

(3)  在sh文件的结尾。要按顺序将本文件所包括的全部函数罗列出来,如本文件包括的函数是Init和CreateTable。

        2. 生成sql文件的过程

        (1)  上传sh文件

使用FTP工具(如filezilla)将example.sh文件上传到Linux的相应文件夹下。

        (2)  使用dos2unix命令改动文件格式

因为example.sh文件是在本地的Windows操作系统下编写的。因此要先转换为Linux下的格式才干使用。

假设上传后直接使用,会出现“Permissiondenied”的报错信息。

dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的。其使用的格式为:dos2unix file,假设一次转换多个文件,把这些文件名称直接跟在dos2unix之后(dos2unixfile1 file2 file3 …)。

在这里,命令运行例如以下:

zhou@linux:~/sql> dos2unix example.sh

dos2unix: converting file example.sh to UNIX format ...

        (3)  使用chmod命令改动文件的权限

在运行了dos2unix命令之后,还是不能立刻生成文件,还须要改动文件的权限。

chmod命令是Linux系统中最经常使用到的命令之中的一个,用于改变文件或文件夹的訪问权限。若想了解有关该命令的很多其它信息。请上网查询。

在这里,命令为:chmod 777 example.sh

        (4)  生成sql文件

直接运行带后缀的sh文件名称,就可以生成sql文件。

命令例如以下:

zhou@linux:~/sql> example.sh

example.sql no exits and is creating it

表示example.sql文件之前不存在。这是第一次生成。

再次运行命令:

zhou@linux:~/sql> example.sh

example.sql is exits and is deleting it,then recreate it

表示example.sql文件已经存在了,如今删除后又一次生成。

        3. sql文件内容

生成的sql文件名称为example.sql。文件内容例如以下:

use zxdbp_166

go

create table tb_employeeinfo

(

employeeno         varchar(20)      not null,      -- 员工工号

employeename    varchar(20)      not null,      -- 员工姓名

employeeage       int                           null       -- 员工年龄

);

create unique index idx1_tb_employeeinfo ontb_employeeinfo(employeeno);

create index idx2_tb_employeeinfo ontb_employeeinfo(employeename);

print 'create table tb_employeeinfo ok'

go

在实际的软件开发项目中。跨平台操作是常有的事情。作为一名合格的软件开发project师,一定要熟练掌握不同操作系统下的操作流程及命令。

(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,我们聊天号码:245924426。欢迎关注!

)

版权声明:本文博客原创文章。博客,未经同意,不得转载。

Linux在什么样的从脚本文件数据库sh格式改变sql格式的更多相关文章

  1. Linux下如何将数据库脚本文件从sh格式变为sql格式

    在从事软件开发的过程中,经常会涉及到在Linux下将数据库脚本文件从sh格式变为sql格式的问题.本文以一个实际的脚本文件为例,说明格式转换的过程.        1. sh文件内容 本文中的文件名为 ...

  2. linux上执行mysql的脚本文件

    我们测试过程中,经常需要执行升级脚本或导入生产测试数据,对于轻量的升级脚本可以直接在客户端工具中打开执行,但是对于文件内容比较大的.sql文件,比如几百M,几G的sql文件,直接拖到客户端工具打开执行 ...

  3. Linux下dos2unix命令将windows文件编码格式dos转换成Unix格式

    问题描述: 在Windows系统下面使用文本编辑器notepad后传到Linux系统下的话 Linux下处理和执行一般都存在一些问题,我们可以通过命令查看文件是否是dos格式的, 如果有如图所示的M标 ...

  4. shell 脚本文件类型.sh ,变量

    1. shell脚本编程的基本过程 (1)建立shell文件,以 .sh 结尾的文件 (2)赋予shell文件执行权限,chmod 0777 文件名 (3)执行shell文件, ./ 文件名 或者ba ...

  5. 【转】【MySql】脚本备份数据库

    #!/bin/bash #this is a script of mysql backup if [ ! -d /mydata/data1/backup ] ;then mkdir /mydata/d ...

  6. 《Linux命令行与shell脚本编程大全》 第二十三章 学习笔记

    第二十三章:使用数据库 MySQL数据库 MySQL客户端界面 mysql命令行参数 参数 描述 -A 禁用自动重新生成哈希表 -b 禁用 出错后的beep声 -B 不使用历史文件 -C 压缩客户端和 ...

  7. 【MySql】脚本备份数据库

    #!/bin/bash #this is a script of mysql backup #Mysql="mysql" #MysqlDump="mysqldump&qu ...

  8. dos2unix(windows脚本文件放到unix下运行要注意)

    在windows下编写的shell脚本文件,直接放到linux下运行,是不行的. infiniDB的倒库脚本文件load.sh,将tbl文件导入infiniDB,怎么运行不成功,不建job.运来,是w ...

  9. jenkins部署java项目,脚本文件放在远程仓库中 和jar一起打包(六)

    jenkins部署java项目到远程linux上,脚本文件和项目一起上传到gogs上,直接执行gogs上的脚本文件来执行项目 (1)新建maven项目 pom.xml的配置 <project x ...

随机推荐

  1. 13.怎样自学Struts2之Struts2本地化[视频]

    13.怎样自学Struts2之Struts2本地化[视频] 之前写了一篇"打算做一个视频教程探讨怎样自学计算机相关的技术",优酷上传不了,仅仅好传到百度云上: http://pan ...

  2. linux下查看进城(ps)的方法 与 杀死进程(kill)的N种方法

    PS查看进程 inux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必 ...

  3. jquery下php与ajax的数据交换方式

    参考链接:http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2013/0122/11971.html 一.前台传递字符串变量,后台返回字符串变量( ...

  4. [iOS]iOS8可用的识别用户方式(idfa、UUID、idfv)

    本文地址:http://blog.csdn.net/zhaoyabei/article/details/46682765 想要追踪.统计用户,自然离不开用户唯一标识符.这是每一个公司都面临的问题.在历 ...

  5. Install Linux Kernel - AT91SAM9260EK

    两.AT91SAM9260EK 2.1下载 介绍页: http://www.at91.com/linux4sam/bin/view/Linux4SAM/LegacyLinuxKernel 下载页: a ...

  6. 【转】.net IL 指令解释速查

    名称 说明 Add 将两个值相加并将结果推送到计算堆栈上. Add.Ovf 将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上. Add.Ovf.Un 将两个无符号整数值相加,执行溢出检查,并且 ...

  7. 【PhotoShop】采用PS让美丽的咖啡泡沫

    稀土一杯咖啡,如何你不能击败张(常苦黑咖啡饮料实在受不了! ) 得到例如以下图 看着还不错,但是总感觉空空荡荡的,所以就拿来PS练手了.终于效果图例如以下: 以下讲下制作过程: 首先是给照片加下咖啡泡 ...

  8. coco2dx c++ HTTP实现

    coco2dx c++ HTTP实现 达到的结果如下面的 iPhone截图 android 日志截图 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdnBp ...

  9. firefox os 2.1版本号UI接口方面有了质的飞跃

    由Mozilla新的移动设备操作系统开发Firefox os 经过多次迭代,我们看到的版本号Mozilla进步和艰辛,在充满当然,任何Android设备的情况下,坚持一个新的操作系统的移动设备,后1. ...

  10. gc overhead limit exceeded eclipse错误解决方式

    在Eclipse打包的时候报错:gc overhead limit exceeded eclipse 原因是Eclipse默认配置内存太小须要更改安装Eclipse目录下的eclipse.ini文件. ...