./与sh区别】的更多相关文章

在一般的linux系统当中(如redhat),使用sh调用执行脚本相当于打开了bash的POSIX标准模式(等效于bash的 --posix 参数),一般的,sh是bash的“子集”,不是子集的部分.bash程序执行,当“$0”是“sh”的时候,则要求代码遵循一定的规范,当不符合规范的语法存在时,则会报错,所以可以这样理解,“sh”并不是一个程序,而是一种标准(POSIX),这种标准,在一定程度上保证了脚本的跨系统性 ubuntu默认的sh是连接到dash,而我们写shell脚本时使用的时bas…
shell中使用source conf.sh,是直接运行conf.sh的命令,不创建子shell,类似与html中include,而sh是则创建子shell, 子shell里面 的变量父shell无法使用,对环境变量的修改也不影响父shell.父shell中的局部变量,子shell也无法使用, 只有父shell的环境变量, 子shell能够使用.还有一个exec conf.sh,这个与source类似,区别是exec执行完,不再执行后面的语句.   source命令的作用就是用来执行一个脚本,那…
sh新建一个子shell进程,变量在主shell中无法获取 source在当前shell中执行脚本,变量在主shell即当前shell中可以获取 例子: 1.新建一个test.sh脚本,内容为:A=1 2.然后使其可执行chmod +x test.sh 3.运行sh test.sh后,echo $A,显示为空,因为A=1并未传回给当前shell 4.运行./test.sh后,也是一样的效果 5.运行source test.sh 或者 . test.sh,然后echo $A,则会显示1,说明A=1…
1   ./需要执行权限,使用脚本文件中第一行#!指定的shell(解释器)来执行命令(譬如常见的/bin/bash),不指定系统会调用默认shell程序 2   sh不需要执行权限,是使用sh这个shell执行命令,是个软链接,它可能是一个任意的shell,通常默认是bash shel,用type命令可以查看…
Shell 中文意思贝壳,寓意类似内核的壳.Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务.Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言.    Shell 脚本(shell script)是一种为 shell 编写的脚本程序.常说的shell通常都是指 shell 脚本,但shell和shell script是两个不同的概念.通常说"shell编程"都是指…
shell是你(用户)和Linux(或者更准确的说,是你和Linux内核)之间的接口程序.你在提示符下输入的每个命令都由shell先解释然后传给Linux内核. shell 是一个命令语言解释器(command-language interpreter).拥有自己内建的 shell 命令集.此外,s…
sh是一个shell.运行sh a.sh,表示我使用sh来解释这个脚本:如果我直接运行./a.sh,首先你会查找脚本第一行是否指定了解释器,如果没指定,那么就用当前系统默认的shell(大多数linux默认是bash),如果指定了解释器,那么就将该脚本交给指定的解释器比如a.run文件内容是这个: #!/usr/bin/python print("This is Python script") 那么你如果运行./a.run,结果就是输出一行文字,但是如果你运行sh a.run,会报错…
一个很有意思的例子: sh是一个shell.运行sh a.sh,表示我使用sh来解释这个脚本:如果我直接运行./a.sh,首先你会查找脚本第一行是否指定了解释器,如果没指定,那么就用当前系统默认的shell(大多数linux默认是bash),如果指定了解释器,那么就将该脚本交给指定的解释器. 比如a.run文件内容是这个: #!/usr/bin/python print("This is Python script") 那么你如果运行./a.run,结果就是输出一行文字,但是如果你运行…
1 给脚本加上执行权限chmod u+x a.sh, 而后就可以直接用全路径来执行脚本了,比如当前文件夹下用./a.sh, 如果脚本所在目录在PATH环境变量之中, 则直接用a.sh即可 2 sh/bash a.sh的路径,这种情况不需要脚本具有执行权限. 以上两种情况中,脚本中$0都是a.sh,都是在shell的子进程中运行的. 3 source a.sh的路径 4 . a.sh的路径 以 上两种情况都是脚本在当前shell的进程中运行,所以$0都是bash/sh, 区别在于, source不…
定时任务两实例 例1: 每分钟打印一次自己的名字拼音全拼到“/server/log/自己的名字命名的文件”中. [root@chengliang log]# mkdir -p /server/log/ [root@chengliang log]# echo "chensiqi" >>/server/log/chengliang [root@chengliang log]# crontab -l #time sync by zcl at 2017/5/8 */5 * * *…