Shell Script不同运行方式的区别

Linux中运行shell脚本主要有三种方式:

1.直接命令下达: shell.sh 文件必须要具备可读与可运行 (rx) 的权限,然后:

绝对路径:使用 /home/dmtsai/shell.sh 来下达命令;

相对路径:假设工作目录在 /home/dmtsai/ ,则使用 ./shell.sh 来运行

变量『PATH』功能:将 shell.sh 放在 PATH 指的目录定内,例如: ~/bin/

2.以 bash 程序来运行:透过『 bash shell.sh 』或『 sh shell.sh 』来运行

3.用source shell.sh命令运行

区别:第一种与第二种均在子程序的bash中运行(图1),而第三种则是在主程序bash中运行(图2)。当使用前两种方式运行时,脚本中创建的所有变量或动作都将会结束而不会回到主程序中;第三种会将变量加入到主程序bash当中。

图 1、sh02.sh 在子程序中运行


图 2、sh02.sh 在父程序中运行

时间: 2024-11-05 14:54:06

Shell Script不同运行方式的区别的相关文章

学习shell script

如果你的想要管理好你的主机,那么就要好好学习自动管理系统的有效工具--hell script!基本上,shell script有点像早期的批处理文件,即将很多命令整合起来一次执行,但是shell script拥有更强大的功能,它可以进行类似程序的编写,并且不需要经过编译就能够执行,非常方便我们对系统进行管理. 今天我们主要通过对一些shell script的习题来加深对脚本知识的学习. 习题1:对成绩进行判断,要求输入一个正整数,以60分,85分为界输出不同的评语. #!/bin/bash #

linux shell script: Basic concept01 - String

basic concept01: String本文所有的测试例如无特殊说明,均based on fish shell 就从字符串说起吧,啥是字符串就不用解释了,我们来看几个简单的例子 ?> ~ set param abc ?> ~ echo "string with blank and $param surrounded with double quotation marks" string with blank and abc surrounded with double

第十三章、学习 Shell Scripts 简单的 shell script 练习

简单的 shell script 练习 简单范例 对谈式脚本:变量内容由使用者决定 [[email protected] scripts]# vi sh02.sh #!/bin/bash # Program: # User inputs his first name and last name. Program shows his full name. # History: # 2005/08/23 VBird First release PATH=/bin:/sbin:/usr/bin:/us

Shell Script 中 "$()" ," ${}" Learning

shell中$(( )) 与 $( ) 还有${ }的区别 http://blog.chinaunix.net/uid-14351756-id-2820651.html $( ) 与 ` ` (反引号) 在 bash shell 中,$( ) 与 ` ` (反引号) 都是用来做命令替换用(command substitution)的. 所谓的命令替换与我们第五章学过的变量替换差不多,都是用来重组命令行: * 完成引号里的命令行,然后将其结果替换出来,再重组命令行. 例如: [code]$ ech

Shell编程之三 —— shell script 脚本(未完待续)

1.脚本的语法构成: shell script 是利用 shell 的功能所写的一个『程序(program)』,这个程序是使用纯文本文件(文件后缀名最好为sh文件,方便我们管理),将一些 shell 的语法与指令(含外部指令)写在里面, 搭通配符.配正规表示法.管线命令与数据流重定向.条件判断.循环逻辑等功能,以达到我们所想要的处理目的. 构成(常见):shell语法和外部指令   通配符     [a-z]  [A-Z]     ?    *          正规表达式      管线命令

shell script中的$*和[email protected]

在shell script中,$*和[email protected]都是获取所有的命令行参数,但是这两者在使用的过程中会有细微的差别,差别主要是在有没有使用双引号,即是直接使用$*,[email protected],还是使用"$*","[email protected]". 直接使用$*,[email protected] #!/bin/bash count=1 for param in $*;do echo "\$* Parameter #$coun

菜鸟的《Linux程序设计》学习—shell script

1. 认识shell script shell script是利用shell的功能缩写的一个"程序",这个程序是使用纯文本文件,将一些shell的语法与命令(含外部命令)写在里面,搭配正则表达式,管道命令与数据流重定向等功能,以达到我们想要的处理目的. shell script有很广泛的应用: (1)自动化管理的重要依据 (2)追踪与管理系统的重要工作 (3)简单入侵检测功能 (4)连续命令单一化 (5)简易的数据处理 (6)支持跨平台 所以说,shell script用在系统管理上面

Unix/Linux shell脚本编程学习--Shell Script II

Shell Script II 10.Shell echo命令 echo "OK!\n”   #显示换行 echo "It is a test" echo无拼接字符时后一般可以不使用”引号”,从上面可看出,双引号可有可无,单引号主要用在原样输出中. 显示结果重定向保存至文件: vim myfile 创建文件 echo "It is a test" > myfile cat myfile 查看文件内容 若需要原样输出字符串(不进行转义),请使用单引号.

bash shell学习-shell script基础 (笔记)

A chain no stronger than its weakest link. "一着不慎,满盘皆输" 参考资料:鸟哥的Linux私房菜 基础学习篇(第三版)  Linux Shell脚本攻略     Linux程序设计(第四版) 一.什么是shell script 1.什么是shell script 简单来说,shell script(程序化脚本)是利用shell功能所写的一个“程序”,它拥有自己的语法特性 2.为什么要学shell script 对于一个初学者来说,我觉得就那