当前位置:首页 » 编程软件 » shell脚本启动程序

shell脚本启动程序

发布时间: 2022-05-15 20:15:31

❶ 如何运行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环境相反.

❷ Linux下如何执行Shell脚本

linux下可以有两种方式执行shell脚本:
1、用shell程序执行脚本:根据shell脚本的类型,选择shell程序,常用的有sh,bash,tcsh等(一般来说第一行#!/bin/bash里面指明了shell类型的,比如#!/bin/bash指明是bash,#!/bin/sh则是sh);然后输入命令(其中bash为shell的名称,myshell.sh则为要执行的代码):
bash
myshell.sh
2、直接执行脚本:
不过首先的加上可执行权限(也许要root权限,4情况而定),执行:

❸ Linux shell脚本如何自动运行程序并输入命令

我建议你使用shell的spawn命令,很好用的,能实现你说的功能!Linux shell脚本如何自动运行程序并输入命令

❹ 用shell脚本写一个服务的启动程序

一般在/etc/init.d目录下都是各种服务的启动脚本。你可以参考着自己的程序写。

❺ linux shell脚本如何启动一个java进程

在shell里面直接调用即可。
    1,编译一个java文件为a.class。
    2,编写shell脚本b
.sh

#!/bin/bash
java a.class    3,放在同一目录下运行shell即可。如果要后台运行,bash
b.sh&

❻ shell定时执行脚本启动jar程序的问题

在脚本里声明java环境变量,加上下列语句在#! /bin/sh底下,注意.后面有空格
. ~/.bash_profile
. /etc/profile

❼ shell脚本主要有哪些

第一个shell脚本程序:

#!/bin/bash
# 上面中的 #! 是一种约定标记, 它可以告诉系统这个脚本需要什么样的解释器来执行;echo "Hello, world!"

变量:

定义变量:

country="China"Number=100

注意: 1,变量名和等号之间不能有空格;

2,首个字符必须为字母(a-z,A-Z)。

3, 中间不能有空格,可以使用下划线(_)。

4, 不能使用标点符号。

5, 不能使用bash里的关键字(可用help命令查看保留关键字)。

使用变量:

只需要在一个定义过的变量前面加上美元符号$就可以了, 另外,对于变量的{} 是可以选择的, 它的目的为帮助解释器识别变量的边界.

country="China"echo $countryecho ${country}echo "I love my ${country}abcd!"

#这个需要有{}的;

重定义变量:直接把变量重新像开始定义的那样子赋值就可以了:

country="China"country="ribenguizi"

只读变量: 用 readonly 命令 可以把变量字义为只读变量。

readonly country="China"#或
country="China"readonly country

删除变量: 使用unset命令可以删除变量,但是不能删除只读的变量。用法:

unset variable_name

变量类型

运行shell时,会同时存在三种变量:

1) 局部变量

局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。

2) 环境变量

所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。

3) shell变量

shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

特殊变量:

其中, 1. 取值后面必须为关键字 in,每一模式必须以右括号结束。取值可以为变量或常数。匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;。;; 与其他语言中的 break 类似,意思是跳到整个 case 语句的最后。2. 如果无一匹配模式,使用星号 * 捕获该值,再执行后面的命令。

❽ shell脚本启动程序,rang

一、Android应用启动服务执行脚本1如何写服务和脚本在android源码根目录下有/device/tegatech/tegav2/init.rc文件相信大家对这个文件都不陌生(如果不明白就仔细研读下android启动流程)。如果在该脚本文件中添加诸如以下服务:serviceusblp_test/data/setip/init.usblpmod.shoneshotdisabled注解:每个设备下都会有自己对应的init.rc,init.设备名.rc脚本文件。oneshotdisabled向我们说明了在系统启动的时候这个服务是不会自动启动的。并且该服务的目的是执行/data/setip/init.usblpmod.sh脚本。脚本的内容你可以随便写,只要符合shell语法就可以了,比如脚本可以是简单的设置eth0:#!/system/bin/sh//脚本的开头必须这样写。Ifconfigeth0172.16.100.206netmask255.255.0.0up//设置ip的命令2、如何在应用中启动服务1)首先了解下在服务启动的流程1.在你的应用中让init.rc中添加的服务启动起来。首先了解下在服务启动的流程:在设备目录下的init.c(切记并不是system/core/init/init.rc)Main函数的for(;;)循环中有一个handle_property_set_fd(),函数:[cpp]viewplainfor(i=0;i

❾ 请教大牛们,shell脚本里实现启动一个perl脚本程序,执行一段时间后,然后重新启动这个perl脚本程序

最好是加到计划任务crontab里
或者
while true
do
perl A.pl

sleep 7200

done
执行shell就sh a.sh &放进后台,到时候要停就找到这个sh的pid,kill掉

❿ 关于linux 用shell启动软件

登录流程会加载很多文件,根据不同的linux发布版本你想找的东西也不一定在哪。你只是想能比较方便的用你的python脚本吧。
可以在终端echo $PATH,就会显示linux自己搜索的目录,直接输入命令就可以自动搜索这些目录下的东西。你是想用脚本打开软件?建议在脚本里面使用绝对路径打开想要的软件,如果是在你的工作目录下,使用相对路径,但是最好不要改环境变量。
如果你是想在linux下直接使用脚本,就把python的路径添加到环境变量中,比如你的python在/usr/python目录下,那么就用:
PATH=$PATH:/usr/python 注意不能有空格," : "一定要有,:的后面接你的python目录,然后在python的脚本第一行写 #!/usr/python,声明使用的脚本位置。这样如果你的py脚本如果执行权限,就是有x位,那么应该是可以直接执行的。或者可以python abc.py

如果每次开机都想这样,可以把PATH=$PATH:/usr/python命令写到你的家目录下面的.bashrc里。如果是改登录文件是/etc/profile(根据不同的发布版本可能不同,并且需要root权限),所以就添到~/.bashrc里就好了

热点内容
app什么情况下找不到服务器 发布:2025-05-12 15:46:25 浏览:711
php跳过if 发布:2025-05-12 15:34:29 浏览:465
不定时算法 发布:2025-05-12 15:30:16 浏览:129
c语言延时1ms程序 发布:2025-05-12 15:01:30 浏览:163
动物园灵长类动物配置什么植物 发布:2025-05-12 14:49:59 浏览:732
wifi密码设置什么好 发布:2025-05-12 14:49:17 浏览:146
三位数乘两位数速算法 发布:2025-05-12 13:05:48 浏览:395
暴风影音缓存在哪里 发布:2025-05-12 12:42:03 浏览:539
access数据库exe 发布:2025-05-12 12:39:04 浏览:627
五开的配置是什么 发布:2025-05-12 12:36:37 浏览:363