如何运行linux shell程序

如何运行linux shell程序,第1张

编写好的shell脚本(如:test),可以采取两种方式进行运行:\x0d\x0a一、 $ sh test\x0d\x0a一般不采用这种调用方式,尤其不采用“sh<test”的调用方式,因为这种方式将禁止shell读取标准输入。\x0d\x0a也可以采用 $ ksh test\x0d\x0a这种方式要求shell具有“可读”的访问权限。\x0d\x0a二、直接运行可执行的shell脚本之前,首先应使用下列chmod命令,把shell脚本文件设置为可执行的文件。\x0d\x0achmod 755 test(除文件属主可写之外,每个用户均具有读和可执行的访问权限)\x0d\x0achmod +rx test(同上)\x0d\x0achmod u+rx test(只有文件属主具有读和执行的访问权限)\x0d\x0a按照上述要求设置shell脚本文件的访问权限后,可采用下列方式,直接运行shell脚本了。\x0d\x0a1、test(如果命令检索路径包含当前目录)\x0d\x0a2、./test(如果命令减缩路径不包含当前目录)\x0d\x0a*说明: sh test 方式调用一个shell叫蹦可能会禁止某些shell特定的扩展功能,因而可能引起脚本无法正确执行。

分类: 电脑/网络 >>软件

解析:

shell不是一个程序.他大意是指对系统的 *** 控权,一个 *** 控接口,

shell的概念是从Unix继承下来的

shell是分等级的,所以就有了提升权限的概念

Shell就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统。它为用户提供了一个向Linux发送请求以便运行程序的接口系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。现在延伸进WINDOWS。

在VB中Shell函数用以执行一个可执行文件,返回一个 Variant (Double),如果成功的话,代表这个程序的任务 ID,若不成功,则会返回 0。

语法

Shell(pathname[,windowstyle])

Shell 函数的语法含有下面这些命名参数:

部分 描述

pathname 必要参数。Variant (String),要执行的程序名,以及任何必需的参数或命令行变量,可能还包括目录或文件夹,以及驱动器。

Windowstyle 可选参数。Variant (Integer),表示在程序运行时窗口的样式。如果 windowstyle 省略,则程序是以具有焦点的最小化窗口来执行的。

windowstyle 命名参数有以下这些值:

常量 值 描述

vbHide 0 窗口被隐藏,且焦点会移到隐式窗口。

VbNormalFocus 1 窗口具有焦点,且会还原到它原来的大小和位置。

VbMinimizedFocus 2 窗口会以一个具有焦点的图标来显示。

VbMaximizedFocus 3 窗口是一个具有焦点的最大化窗口。

VbNormalNoFocus 4 窗口会被还原到最近使用的大小和位置,而当前活动的窗口仍然保持活动。

VbMinimizedNoFocus 6 窗口会以一个图标来显示。而当前活动的的窗口仍然保持活动。

说明

如果 Shell 函数成功地执行了所要执行的文件,则它会返回程序的任务 ID。任务 ID 是一个唯一的数值,用来指明正在运行的程序。如果 Shell 函数不能打开命名的程序,则会产生错误。

注意 缺省情况下,Shell 函数是以异步方式来执行其它程序的。也就是说,用 Shell 启动的程序可能还没有完成执行过程,就已经执行到 Shell 函数之后的语句。

2.Shell 函数示例

本示例使用 Shell 函数来完成一个用户指定的应用程序。

' 将第二个参数值设成 1,可让该程序以正常大小的窗口完成,并且拥有焦点。

Dim RetVal

RetVal = Shell("C:\WINDOWS\CALC.EXE", 1) ' 完成Calculator。

对于Java应用程序(非web应用) 在部署后 常常需要一个启动脚本来加载一些第三方的jar包 并启动应用

对于java应用程序 我一般喜欢将程序的目录结构写成如下的方式

myapp

| lib

| bin

| packages

一些配置文件和属性文件

一个startup sh 或bat启动脚本

其中 packages是程序的根包 其中有子包和class文件等

在包中 有一个Main calss的类 这个作为程序的入口

下面给出一个最一般的写法

startup sh #!/bin/sh

programdir=

num=$#

temp=$CLASSPATH

#setting libs path

libs= /lib/*

append(){

temp=$temp : $

}

for file in $libsdo

append $file

done

export CLASSPATH=$temp: : /:$programdir

export LANG=zh_CN

nohup java classpath $CLASSPATH    packaages xxx yyy Main &

这样 只要按照上面的方式组织程序 启动脚本就需要改动下Main前面的包路径即可

nohup 上面脚本中最后一行前有nohup 这是将程序的输入输出都将附加到当前目录的 nohup out 文件中

lishixinzhi/Article/program/Java/hx/201311/25993


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7769337.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存