您现在的位置是:首页 > 科技资讯科技资讯
shell语言(linuxC程序中如何获取shell的脚本输出呢)
编辑 2024-06-03 12:59:07 科技资讯
1. shell语言,linuxC程序中如何获取shell的脚本输出呢?
你说的是Linux C程序获取shell脚本(命令)输出吧,这里简单介绍3种方式,分别是临时文件、匿名管道和popen函数,感兴趣的朋友可以尝试一下:
临时文件这种方式最容易实现,基本思想是调用C语言标准库的system函数,运行shell命令或脚本,将输出结果重定向到一个临时文件中,然后读取临时文件,获取shell执行结果,测试代码如下,非常简单,输入参数分别为shell命令(脚本)和临时文件名,最终结果保存在临时文件中:
匿名管道这种方式主要是管道,先pipe创建一个匿名管道,然后fork创建一个子进程,子进程运行shell命令或脚本,并将标准输出dup到匿名管道的写端,父进程再从匿名管道读端读取数据即可,测试代码如下,非常简单,子进程对应写端,父进程对应读端:
popen函数这种方式最简单,C标准库专门提供了一个popen函数,可以非常简单的处理调用shell,基本思想创建一个管道,fork一个进程,然后执行shell,而shell的输出可以采用读取文件的方式获得,这种方式既避免了创建临时文件,又不受输出字符数的限制,推荐使用:
目前,就分享这3种Linux C程序获取shell脚本(命令)输出的方式吧,对于日常开发应用来说,完全够用了,只要你有一定的C语言基础,熟悉一下上面的代码,很快就能掌握的,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。
2. shell命令详解?
下面是UEFI Shell中常用的一些命令及其详解:
map:列出系统上所有可用的存储设备和它们的分区情况。
ls:列出当前目录下的文件和文件夹。
cd:进入指定的目录。
pwd:显示当前所在的目录路径。
mkdir:创建一个新的目录。
rm:删除一个文件或目录。
copy:复制一个文件。
rename:重命名一个文件或目录。
type:显示一个文件的内容。
edit:编辑一个文本文件。
attrib:显示或修改文件或目录的属性。
ping:测试网络连接。
netstat:显示当前网络连接状态。
bcfg:配置启动选项。
reset:重置系统。
以上是UEFI Shell中常用的一些命令及其详解,更多的命令可以通过在UEFI Shell中输入help命令获取帮助。
3. shell开发手法?
Shell 手册
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。
Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。
Shell 脚本
Shell 脚本(shell script),是一种为 shell 编写的脚本程序。
业界所说的 shell 通常都是指 shell 脚本,但读者朋友要知道,shell 和 shell script 是两个不同的概念。
由于习惯的原因,简洁起见,本文出现的 "shell编程" 都是指 shell 脚本编程,不是指开发 shell 自身。
Shell 环境
Shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。
Linux 的 Shell 种类众多,常见的有:
Bourne Shell(/usr/bin/sh或/bin/sh)
Bourne Again Shell(/bin/bash)
C Shell(/usr/bin/csh)
K Shell(/usr/bin/ksh)
Shell for Root(/sbin/sh)
……
Bash,也就是 Bourne Again Shell,由于易用和免费,Bash 在日常工作中被广泛使用。同时,Bash 也是大多数Linux 系统默认的 Shell。
在一般情况下,人们并不区分 Bourne Shell 和 Bourne Again Shell,所以,像 #!/bin/sh,它同样也可以改为 #!/bin/bash。
#! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序
#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。
echo 命令用于向窗口输出文本。
运行 Shell 脚本有两种方法:
1、作为可执行程序
将上面的代码保存为 test.sh,并 cd 到相应目录:
bash
chmod +x ./test.sh #使脚本具有执行权限
./test.sh #执行脚本
注意,一定要写成 ./test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。
2、作为解释器参数
这种运行方式是,直接运行解释器,其参数就是 shell 脚本的文件名,如:
bash
/bin/sh test.sh
/bin/php test.php
4. 什么叫标准脚本语言?
1.脚本语言(Javascript,vbscript等)介于HTML和C,C++,Java,C#等编程语言之间。
HTML通常用于格式化和链结文本。而编程语言通常用于向机器发出一系列复杂的指令。
2.脚本语言与编程语言也有很多相似地方,其函数与编程语言比较相象一些,其也涉及到变量。与编程语言之间最大的区别是编程语言的语法和规则更为严格和复杂一些.
3.与程序代码的关系:脚本也是一种语言,其同样由程序代码组成。
注:脚本语言一般都有相应的脚本引擎来解释执行。 他们一般需要解释器才能运行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是脚本语言。C/C++编译、链接后,可形成独立执行的exe文件。
4.脚本语言是一种解释性的语言,例如vbscript,javascript,installshield script,ActionScript等等,它不象c/c++等可以编译成二进制代码,以可执行文件的形式存在.
脚本语言不需要编译,可以直接用,由解释器来负责解释。
5.脚本语言一般都是以文本形式存在,类似于一种命令.
举个例子说,如果你建立了一个程序,叫aaa.exe,可以打开.aa为扩展名的文件.
你为.aa文件的编写指定了一套规则(语法),当别人编写了.aa文件后,你的程序用这种规则来理解编写人的意图,并作出回应.那么,这一套规则就是脚本语言.
5. mortalshell怎么调中文?
步骤/方式1
首先打开软件以后点击顶部的工具菜单
步骤/方式2
接着在下拉列表界面选择更改语言选项
步骤/方式3
最后在弹出的界面选择Chinese simplified选项就可以了
6. shell是汇编语言吗?
shell不是汇编语言,我们可以把它当作操作系统的操作界面或者提示符。
shell是一个解释器,可以解释执行按一定语法编写的脚本程序。凭借脚本文件,结合cron,我们可以实现很多程序调度,比如数据库备份,压缩后上传到ftp服务器,删除旧的备份文件……
7. 用c语言写一个表然后用shell调用传输到数据库?
不知道是不是这个意思
http://blog.csdn.net/chou_out_man/article/details/78487358
本文标签:
很赞哦! ()
下一篇:苏宁易(苏宁易付扣款怎么回事)