shell各种执行方式区别

shell 脚本各种执行方式(source ./*.sh, . ./*.sh, ./*.sh)的区别

原文出处:http://blog.csdn.net/dance_rise/article/details/8573560

结论一: ./*.sh的执行方式等价于sh ./*.sh或者bash ./*.sh,此三种执行脚本的方式都是重新启动一个子shell,在子shell中执行此脚本(通过fork实现)。

结论二: .source ./*.sh和 . ./*.sh的执行方式是等价的,即两种执行方式都是在当前shell进程中执行此脚本,而不是重新启动一个shell 而在子shell进程中执行此脚本。

验证依据:没有被export导出的变量(即非环境变量)是不能被子shell继承的

验证结果:

[[email protected] ~]#name=dangxu       //定义一般变量  
    [[email protected] ~]# echo ${name}  
    dangxu  
    [[email protected] ~]# cat test.sh      //验证脚本,实例化标题中的./*.sh  
    #!/bin/sh  
    echo ${name}  
    [[email protected] ~]# ls -l test.sh    //验证脚本可执行  
    -rwxr-xr-x 1 root root 23 Feb  6 11:09 test.sh  
    [[email protected] ~]# ./test.sh        //以下三个命令证明了结论一  
      
    [[email protected] ~]# sh ./test.sh  
      
    [[email protected] ~]# bash ./test.sh  
      
    [[email protected] ~]# . ./test.sh     //以下两个命令证明了结论二  
    dangxu  
    [[email protected] ~]# source ./test.sh  
    dangxu

时间: 2024-08-19 10:49:33

shell各种执行方式区别的相关文章

shell脚本执行方式

方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: cd /data/shell ./hello.sh ./的意思是说在当前的工作目录下执行hello.sh.如果不加上./,bash可能会响应找到不到hello.sh的错误信息.因为目前的工作目录(/data/shell)可能不在执行程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中.查看PATH的内容可用 echo $PASH 命令.现在的/data/shell就不在环境变量PASH中的,所以必须加上

shell 的执行方式

shell执行的方式: Shell脚本的执行通常可以采用以下几种方式 bash /path/to/script-name 或 /bin/bash /path/to/script-name (强烈推荐使用) /path/to/script-name 或 ./script-name (当前路径下执行脚本) source script-name 或 . script-name (注意“.“点号后面有空格) 执行方式说明: 脚本文件本身没有可执行权限或者脚本首行没有命令解释器时使用的方法,我们推荐用ba

Linux - Shell - shell 执行方式

概述 shell 的执行方式 背景 偶尔执行个 shell 脚本 一般都用 ./ 执行 最近忽然看到 有不同的执行方式, 感觉有必要整理一下, 然后和大家分享 准备 os centos7 shell bash 1. shell 脚本的普通执行 shell 脚本执行 最常用的执行方式 > cd <path/to/scriptDir> > ./<script> [option and args] 其实 shell 脚本, 还有 其他的 执行方式 2. 其他的执行方式 普通方

shell 脚本各种执行方式(source ./*.sh, . ./*.sh, ./*.sh)的区别

结论一: ./*.sh的执行方式等价于sh ./*.sh或者bash ./*.sh,此三种执行脚本的方式都是重新启动一个子shell,在子shell中执行此脚本. 结论二: .source ./*.sh和 . ./*.sh的执行方式是等价的,即两种执行方式都是在当前shell进程中执行此脚本,而不是重新启动一个shell 而在子shell进程中执行此脚本. 验证依据:没有被export导出的变量(即非环境变量)是不能被子shell继承的 验证结果: [[email protected] ~]#n

shell入门笔记1:执行方式、运行方式、变量、替换、运算符

说明: 本文是关于http://c.biancheng.net/cpp/shell/的相关笔记 shell的两种执行方式 交互式(interactive) 解释执行用户的命令,用户输入一条命令,Shell就解释执行一条. 批处理 (batch) 用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令. 运行shell脚本的两种方法 作为可执行程序 ./test.sh 作为解释器参数 /bin/bash test.sh 注意: 1.

Shell三种执行方式(简单参数说明)

Shell三种执行方式   (非原创,忘记了是谁的博客叻) 1: . 文件名 1.source命令用法:   source FileName    作用:在当前bash环境下读取并执行FileName中的命令.该filename文件可以无"执行权限"     注:该命令通常用命令"."来替代.     如:source bash_profile   . bash_profile两者等效.     source(或点)命令通常用于重新执行刚修改的初始化文档.    

shell入门笔记1:执行方式、运行方式、变量、替换

说明: 本文是关于http://c.biancheng.net/cpp/shell/的相关笔记 shell的两种执行方式 交互式(interactive) 解释执行用户的命令,用户输入一条命令,Shell就解释执行一条. 批处理 (batch) 用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令. 运行shell脚本的两种方法 作为可执行程序 ./test.sh 作为解释器参数 /bin/bash test.sh 注意: 1.

shell脚本执行的几种方式

执行shell脚本有以下几种方式 1.相对路径方式,需先cd到脚本路径下 [[email protected] tmp]# cd /tmp [[email protected] tmp]# ./ceshi.sh 脚本执行成功 2.绝对路径方式 [[email protected] tmp]# /tmp/ceshi.sh 脚本执行成功 3.bash命令调用 [[email protected] /]# bash /tmp/ceshi.sh 脚本执行成功 4.. (空格)  相对或绝对方式 [[em

shell脚本介绍,shell脚本结构和执行方式,date命令的用法,shell脚本中的变量简介

笔记内容: 20.1 shell脚本介绍 20.2 shell脚本结构和执行 20.3 date命令用法 20.4 shell脚本中的变量 笔记日期:2017-11-21 20.1 shell脚本介绍 Shell Script,Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的.但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令