
Linux运行sql脚本的具体 *** 作步骤如下:
1、使用shell工具登陆到安装postgresql的服务器,切换到postgres用户,postgresql默认的 *** 作用户,命令是:su - postgres,查看当前路径是/var/lib/psql,创建一个test.sql脚本文件,命令是:vim test.sql。
2、sql脚本内容是:create table test (id int not null primary key,name text)insert into test valus(1, 't1')
3、执行test.sql脚本,命令是:psql -f test.sql
这里是因为postgresql安装本机上,在第一步中我们切换到了postgres用户,因此这里默认就是postgres用户来 *** 作,不用带上用户名和密码。执行结果如下,可以看到有两个提示:
create table
insert 0 1
执行完成后,我们登入数据库,命令是:psql
4、进入psql交互式命令行后,我们执行两个查看命令:\d
可以看到表test确实已经创建成功,然后执行命令:\d test
可以看到表中字段是id和name,和我们创建语句中内容一样,说明第一条语句执行成功。
5、查看表中数据,命令是:select * from test
显示出来的值是1,t1,说明第二条执行语句也执行成功,说明test.sql脚本执行成功。
6、默认是postgres用户,本机 *** 作是,不需要用户和密码,现在我们来试试 *** 作远程linux服务器上的postgresql,也就是说执行本地的脚本文件,在远程服务器上创建表。如下面图中所示,命令是:psql -U test1 -h 192.168.1.194 -f test.sql,输入对应用户的密码。
7、登陆到这个远程服务器上,命令是:psql -U test -h 192.168.194
执行查看命令:\d,\d test
最后查询数据库:select * from test结果和上面都一致。
"首先脚本需要有执行权限:chmod u x file.sh;执行脚本有三种方法:1. ./file.sh:特点:开启bash子进程来执行,也就是开启额外的进程来进行,不影响原进程的变量、配置等2. bash file.sh特点:和./file.sh相同3. source file.sh 或者 . file.sh 特点:在原bash进程中执行脚本。第三种方法主要用于在脚本中切换用户su、切换目录cd等命令。source 和 . 命令是相同的。你可以搜索 source
补充,如何查看脚本运行是否开启了bash子进程vim file.sh写入#!/bin/bash;#echo $$命令会输出bash进程ID;echo $$;保存并赋予可执行权限chmod u x file.sh;在你的shell中输入,echo $$屏幕输出4176;./file.sh 屏幕输出3600;bash file.sh 屏幕输出3984;source file.sh 屏幕输出4176 和 你直接在shell中输出的一样,说明是在同一个bash进程,另外你是感兴趣的话可以看下刘遄老师写的《Linux就该这么学》作为入门的书籍,觉得不错的话采纳下哦
"
只需要在R脚本首行,加入下图中的代码即可:
R --no-save <mergefiles.r
nohup R [options] [<infile] [>outfile]
nohup 后台运行程序
options:
--version 查看R版本;
--slave 只打印R脚本的输出,而不显示脚本具体执行情况;
--vanilla是 --no-save, --no-restore, --no-site-file, --no-init-file 和 --no-environ的综合;
--args 后面是需要传递的参数。
注意:options必须选择--save,--no-save, --vanilla三个中的一个。
比如编辑一个mergefiles.r文件如下:
R --slave --vanilla <mergefiles.r
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)