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

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

(0)

相关推荐

  • linux下svn提交忽略某些文件.目录(ignore属性

    svn也是一个目录同步了我们可以用它来做版本控制了,下面一起来看看关于linux下svn提交忽略某些文件、目录(ignore属性),希望例子对各位有帮助. 在项目中,有些文件是不需要将本地的提交到sv ...

  • Linux下设置定期执行脚本

    在Linux下,经常需要定期的执行一些脚本从而来实现一些功能。 在Linux下我们用crontab来实现定期的执行脚本这个功能,下面就介绍一下crontab的使用。以及我遇到的一些问题 一. cron ...

  • Linux下如何使用enca查看文件编码并转换?

    在Linux做开发或者系统管理遇到乱码是经常的事情,主要Windows下中文的默认编码是bg2312,而Linux下是utf-8.很多时候 涉及到和Windows平台系统的通信免不了编码的转化,可能大 ...

  • linux下挂载(mount)光盘镜像文件.移动硬盘.U盘.Windows网络共享和NFS网络共享

    挂接命令(mount) 首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的。 命令格式: mount [-t vfstype] [-o optio ...

  • Linux下利用Lsof恢复误删文件的方法

    原理:在Linux系统的/proc 分区下保存着进程的目录和名字,包含fd(文件描述符)和其下的子目录(进程打开文件的链接),那么如果删除了一个文件,还存在一个 inode的引用:/proc/进程号/ ...

  • linux下Oracle如何导出dmp文件

    很多新手或者老手,会面临数据库导入导出等方面的问题,故在此做一小结,供大家借鉴 操作方法 01 root用户下首先切换到oracle用户 命令: su - oracle 02 导出命令格式如下: ex ...

  • Linux下利用vi编辑器创建文件并写入内容

    Linux系统作为一款以命令行操作为主的系统,vi编辑器无疑大大扩展了命令行的功能,使用户在命令行下可以进行文件的各种操作,学会vi编辑器的使用无疑是非常必要的.而且vi的使用和vim的使用非常相似, ...

  • Linux 下清空或删除大文件内容的几种方法

    Linux 终端下处理文件时,有时我们想直接清空文件的内容但又不必使用任何Linux命令行编辑器 去打开这些文件.那怎样才能达到这个目的呢?在这篇文章中,我们将介绍几种借助一些实用的命令来清空文件内容 ...

  • Linux 下清空或删除大文件内容的 5 种方法

    <Linux就该这么学>教你删除大文件的技巧,在 Linux 终端下处理文件时,有时我们想直接清空文件的内容但又不必使用任何Linux命令行编辑器 去打开这些文件.那怎样才能达到这个目的呢 ...