linux调用脚本命令行 linux脚本运行命令
怎么在linux中调用命令行中的命令,比如我想在一个程序中用命令行运行另一个程序
Linux编程中在命令行启动另一个可执行文件或调用命令用system函数最简单了,这个函数原理是在你编写的那个程序的内部启动另一个程序或命令,从而创建一个新进程,并等待这个进程执行完毕退出。如果正常执行,system函数将返回被执行程序或命令的退出码;如果无法运行这个程序或命令,将返回错误代码127;如果是其他错误,返回-1。这个函数的原型是:
十载的南雄网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整南雄建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“南雄网站设计”,“南雄网站推广”以来,每个客户项目都认真落实执行。
#include stdlib.h
int system(const char *string);
参数string是将要执行的程序文件名或路径,如果是启动一个命令就是一个命令字符串。
还有一种执行外部程序的方法是exec系列函数,一般是在fork的子进程里面调用exec系列函数,那主进程里直接调用exec系列不行吗,为什么要fork再在子进程里调用呢?因为exec系列的函数(包括execl函数)都是将当前进程替换成新进程,也就是说新进程启动后原来的进程就不存在了,exec系列函数后面的那些代码就不会再执行了。如果你不放在fork子进程里面,那主进程在执行execl函数后就完全不存在了,所以exec系列函数的使用都是先fork然后在子进程里面调用。因为exec系列函数都要使用fork调用,所以我一般是用system函数。
linux 中如何执行脚本?
"首先脚本需要有执行权限: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就该这么学》作为入门的书籍,觉得不错的话采纳下哦
"
Linux下如何运行sql脚本
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;结果和上面都一致。
如何通过Linux命令行使用和运行PHP脚本
在 Linux 命令行中运行 PHP 代码
PHP的语法和C、Java以及带有一些PHP特性的Perl变成语言中的语法十分相似,它当下大约正被2.6亿个网站所使用,当前最新的稳定版本是PHP版本5.6.10。
PHP是HTML的嵌入脚本,它便于开发人员快速写出动态生成的页面。PHP主要用于服务器端(而Javascript则用于客户端)以通过HTTP生成动态网页,然而,当你知道可以在Linux终端中不需要网页浏览器来执行PHP时,你或许会大为惊讶。
本文将阐述PHP脚本语言的命令行方面。
1. 在安装完PHP和Apache2后,我们需要安装PHP命令行解释器。
复制代码 代码如下:
# apt-get install php5-cli
[Debian 及类似系统]# yum install php-cli
[CentOS 及类似系统]
接下来我们通常要做的是,在 /var/www/html (这是 Apache2 在大多数发行版中的工作目录)这个位置创建一个内容为 ?php phpinfo(); ? ,名为 infophp.php 的文件来测试(PHP是否安装正确),执行以下命令即可。
复制代码 代码如下:
# echo '?php phpinfo(); ?' /var/www/html/infophp.php
然后,将浏览器访问 ,这将会在网络浏览器中打开该文件。
检查PHP信息
不需要任何浏览器,在Linux终端中也可以获得相同的结果。在Linux命令行中执行 /var/www/html/infophp.php ,如:
复制代码 代码如下:
# php -f /var/www/html/infophp.php
从命令行检查PHP信息
由于输出结果太大,我们可以通过管道将上述输出结果输送给 less 命令,这样就可以一次输出一屏了,命令如下:
复制代码 代码如下:
# php -f /var/www/html/infophp.php | less
检查所有PHP信息
这里,‘-f‘选项解析并执行命令后跟随的文件。
2. 我们可以直接在Linux命令行使用 phpinfo() 这个十分有价值的调试工具而不需要从文件来调用,只需执行以下命令:
复制代码 代码如下:
# php -r 'phpinfo();'
PHP调试工具
这里,‘-r‘ 选项会让PHP代码在Linux终端中不带 和 标记直接执行。
3. 以交互模式运行PHP并做一些数学运算。这里,‘-a‘ 选项用于以交互模式运行PHP。
复制代码 代码如下:
# php -aInteractive shellphp echo 2+3;5php echo 9-6;3php
echo 5*4;20php echo 12/3;4php echo 12/5;2.4php echo
2+3-1;4php echo 2+3-1*3;2php exit
输入 ‘exit‘ 或者按下 ‘ctrl+c‘ 来关闭PHP交互模式。
启用PHP交互模式
4. 你可以仅仅将PHP脚本作为shell脚本来运行。首先,创建在你当前工作目录中创建一个PHP样例脚本。
复制代码 代码如下:
# echo -e '#!/usr/bin/php\n?php phpinfo(); ?' phpscript.php
注意,我们在该PHP脚本的第一行使用 #!/usr/bin/php ,就像在shell脚本中那样( /bin/bash )。第一行的 #!/usr/bin/php 告诉Linux命令行用 PHP 解释器来解析该脚本文件。
其次,让该脚本可执行:
复制代码 代码如下:
# chmod 755 phpscript.php
接着来运行它,
复制代码 代码如下:
# ./phpscript.php
5. 你可以完全靠自己通过交互shell来创建简单函数,这你一定会被惊到了。下面是循序渐进的指南。
开启PHP交互模式。
复制代码 代码如下:
# php -a
创建一个函数,将它命名为 addition 。同时,声明两个变量 $a 和 $b 。
复制代码 代码如下:
php function addition ($a, $b)
使用花括号来在其间为该函数定义规则。
复制代码 代码如下:
php {
定义规则。这里,该规则讲的是添加这两个变量。
复制代码 代码如下:
php { echo $a + $b;
所有规则定义完毕,通过闭合花括号来封装规则。
复制代码 代码如下:
php {}
测试函数,添加数字4和3,命令如下:
复制代码 代码如下:
php var_dump (addition(4,3));
样例输出
复制代码 代码如下:
7NULL
你可以运行以下代码来执行该函数,你可以测试不同的值,你想来多少次都行。将里头的 a 和 b 替换成你自己的值。
复制代码 代码如下:
php var_dump (addition(a,b));
php var_dump (addition(9,3.3));
样例输出
复制代码 代码如下:
12.3NULL
创建PHP函数
你可以一直运行该函数,直至退出交互模式(ctrl+z)。同时,你也应该注意到了,上面输出结果中返回的数据类型为 NULL。这个问题可以通过要求 php 交互 shell用 return 代替 echo 返回结果来修复。
只需要在上面的函数的中 ‘echo‘ 声明用 ‘return‘ 来替换
替换
复制代码 代码如下:
php { echo $a + $b;
为
复制代码 代码如下:
php { return $a + $b;
剩下的东西和原理仍然一样。
这里是一个样例,在该样例的输出结果中返回了正确的数据类型。
PHP函数
永远都记住,用户定义的函数不会从一个shell会话保留到下一个shell会话,因此,一旦你退出交互shell,它就会丢失了。
网站栏目:linux调用脚本命令行 linux脚本运行命令
文章转载:http://abwzjs.com/article/hhpgjc.html