当前位置:首页 » 编程软件 » shell脚本程序编译运行

shell脚本程序编译运行

发布时间: 2022-04-02 10:22:27

linuxx下的c语言程序和shell脚本程序有什么不同各自是怎么样运行的

c语言,是一个进程之间的范畴,一个进程通过多个c语言的系统调用和算法,组成一个程序,运行是产生一个进程,shell脚本是由命令行解释器进行不同的调用多个进程,通过传入一个对进程传入参数和传出参数由命令行解释器实现进程之间命令行输入和输出的数据衔接和通信

⑵ 如何运行linux shell程序

如何运行shell程序,如何在shell程序以及后续脚本中使用同一个变量,这些在工作中经常用到, 我找到如下的文章,再加深复习一下。
1 source命令用法:
source FileName
作用:在当前bash环境下读取并执行FileName中的命令。该filename文件可以无"执行权限"
注:该命令通常用命令“.”来替代。
如:source .bash_profile
. .bash_profile两者等效。
source(或点)命令通常用于重新执行刚修改的初始化文档。
source命令(从 C Shell 而来)是bash shell的内置命令。
点命令,就是个点符号,(从Bourne Shell而来)。
source的程序主体是bash,脚本中的$0变量的值是bash,而且由于作用于当前bash环境,脚本中set的变量将直接起效

2 sh, bash的命令用法:
sh/bash FileName

作用:打开一个子shell来读取并执行FileName中命令。该filename文件可以无"执行权限"

注:运行一个shell脚本时会启动另一个命令解释器.
每个shell脚本有效地运行在父shell(parent shell)的一个子进程里.
这个父shell是指在一个控制终端或在一个xterm窗口中给你命令指示符的进程.
shell脚本也可以启动他自已的子进程.
这些子shell(即子进程)使脚本并行地,有效率地地同时运行脚本内的多个子任务.
在ubuntu中sh只是bash的一个链接。
由于是在子shell中执行,脚本设置的变量不会影响当前shell。

3 ./的命令用法:
./FileName
作用:打开一个子shell来读取并执行FileName中命令。该filename文件需要"执行权限"
注:运行一个shell脚本时会启动另一个命令解释器.
每个shell脚本有效地运行在父shell(parent shell)的一个子进程里.
这个父shell是指在一个控制终端或在一个xterm窗口中给你命令指示符的进程.
shell脚本也可以启动他自已的子进程.
这些子shell(即子进程)使脚本并行地,有效率地地同时运行脚本内的多个子任务.
由于是在子shell中执行,脚本设置的变量不会影响当前shell。

4 export:
一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本
5. 举例
比如您在一个脚本里export $KKK=111 ,假如您用./a.sh执行该脚本,执行完毕后,您运行 echo $KKK ,发现没有值,假如您用source来执行 ,然后再echo ,就会发现KKK=111。因为调用./a.sh来执行shell是在一个子shell里运行的,所以执行后,结构并没有反应到父shell里,但是 source不同他就是在本shell中执行的,所以能够看到结果.
小测试
1 建立test.sh
#!/bin/bash
export s=/home/jboss/
2 执行命令: source test.sh
echo $s
结果输出: /home/jboss/
3 新开个shell
执行命令: ./test.sh
echo $s
结果: 没有输出s值

结论:
1、执行脚本时是在一个子shell环境运行的,脚本执行完后该子shell自动退出。
2、一个shell中的系统环境变量才会被复制到子shell中(用export定义的变量);
3、一个shell中的系统环境变量只对该shell或者它的子shell有效,该shell结束时变量消失(并不能返回到父shell中)。3、不用 export定义的变量只对该shell有效,对子shell也是无效的。

直接执行一个脚本文件是在一个子shell中运行的,而source则是在当前shell环境中运行的。
source可以让脚本影响它们的父shell环境,这和export去影响子shell环境相反.

⑶ 如何写一个shell脚本在Linux下来运行main函数

这要看你的main函数是什么语言的了,如果是shell里面的函数,可以这么写:
main() {
echo "1234567"
)
echo "start"
main
echo "end"
exit 0

如果是其他语言,那你可以直接调用编译后的可执行程序:
echo "start"
main
echo "end"
如果有入参,可以在main后面直接写,用空格分割

那就好说了,首先你得在linux安装JDK,然后把java_HOME、CLASSPATH和PATH这几个环境变量设置好,然后把上面的main换成
java 程序,这个程序需要是javac后的

⑷ 在windows中怎样运行shell脚本来编译程序

首先电脑中需要安装的是git的应用程序,安装完成之后,可以在开始菜单进行查看。 并需要配置好git的bin,配置环境变量,把bin的绝对路径复制到环境变量中path。 配置git的环境变量之后,在任意文件进行创建一个为mkdir.sh,文件名可以是随意的结.

⑸ 在Linux C语言下,可执行的Shell脚本文件与编译之后的C可执行文件的区别有哪些

shell脚本是shell的一种扩展功能,也就是shell会根据你所写的脚本一条一条的去执行,C写的程序是直接给CPU执行的。一般来说做一些简单功能,特别是和shell有关的。我们会用shell脚本,如系统环境的设定,开机后执行系统的初始化等。做一些功能复杂的,特别人用户自已所想到的功能时会用C语。另外如果程序执行是要用到root权限是最好也用C语。

(1)Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。

(2)C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

⑹ SHELL脚本运行的几种方法以及区别

给脚本加上执行权限chmod u+x a.sh, 而后就可以直接用全路径来执行脚本了,比如当前文件夹下用./a.sh,如果如果脚本所在目录在PATH环境变量之中, 则直接用a.sh即可(这和运行我们自己编写的程序是一个道理)sh/bash ./a.sh 这种情况不需要脚本具有执行权限以上两种执行方式都是在子shell中执行的,也就是说当前shell需要启动另外一个shell,用来执行a.sh内的命令source ./a.sh . ./a.sh(注意前面的 . )以上两种执行方式是在当前shell下执行,并不需要建立子shellsource和 . 命令的作用:用来执行一个脚本 前两种方式和后两种方式的另外区别:如果你在一个脚本里export $KKK=111 ,如果你用./a.sh执行该脚本,执行完毕后,你运行 echo $KKK ,发现没有值,如果你用source来执行 ,然后再echo ,就会发现KKK=111。因为调用./a.sh来执行shell是在一个子shell里运行的,所以执行后,结构并没有反应到父shell里,但是 source不同它就是在本shell中执行的,所以可以看到结果。

⑺ 怎么在bash脚本中运行一个已经编译好的可执行程序

有2种办法:
1、直接执行绝对路径:
/usr/local/apache2/bin/apachetcl
2、建立软链接到系统PATH中:
ln -s /usr/local/apache2/bin/* /usr/local/bin/
然后,你就可以直接敲命令apachectl了。。。

⑻ linux已经编译好的shell脚本程序需要有什么权限才能使用/xxx.sh来执行

运行的权限,使用chmod +x xxx.sh

热点内容
华为高斯数据库 发布:2025-01-25 08:55:38 浏览:30
php是动态语言 发布:2025-01-25 08:45:44 浏览:66
服务器关闭了电脑网络还能用 发布:2025-01-25 08:22:28 浏览:587
热血航线的登录密码在哪里可以看 发布:2025-01-25 08:22:27 浏览:769
5系怎么选择配置 发布:2025-01-25 08:22:18 浏览:842
pythonscipy 发布:2025-01-25 08:18:52 浏览:418
恕瑞玛服务器地址 发布:2025-01-25 08:18:51 浏览:801
oa源码php 发布:2025-01-25 08:11:31 浏览:734
gpc脚本 发布:2025-01-25 08:10:47 浏览:317
云服务器和服务器的区别 发布:2025-01-25 08:10:39 浏览:547