• shellLinux的关系

    2018-03-18 18:04:51
    原文链接:http://blog.csdn.net/LJFPHP/article/details/78292943一、什么是shell答: shell翻译... shell可以通过其条件语句和循环语句等,把一系列linux命令结合在一起,形成一个相当于面向过程的程序,shell sc...

    原文链接:http://blog.csdn.net/LJFPHP/article/details/78292943


    一、什么是shell

    答: 
          shell翻译成壳的意思,它是包裹在linux内核外层的,一个可通过一系列的linux命令对操作系统发出相关指令的人机界面。 shell可以通过其条件语句和循环语句等,把一系列linux命令结合在一起,形成一个相当于面向过程的程序,shell script,来实现一些较为复杂的功能。

          总括,shell是linux命令集的概称,是属于命令行的人机界面。Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson的sh是第一种Unix Shell,Windows Explorer是一个典型的图形界面Shell。Shell 和Shell Script不是一回事,通常我们说的都是Shell Script。

          由定义可知, shell相当于经过装饰的命令行,和命令行一样,都能操作linux。但是shell是面向过程的,相当于有了一定的逻辑和过程,而命令行只是单一的操作。

    二、区别

    1、直接在命令行执行 就是在当前的shell环境下执行 比如涉及到一些环境变量的时候 必须在当前shell环境里执行

          在脚本里执行的话 脚本执行的时候 会fork一个子进程 所有操作都在子进程进行 如果涉及到一些在脚本里设置环境变量的东西 脚本结束了 环境变量也就消失了。 
    这个修改环境变量的话,需要特别注意下。

    2、shell可以重复执行一些命令。你也可以把自己要重复执行的命令写到脚本里面执行。而命令行的话就需要一个一个的输入命令,相对而言麻烦一些。

          上面就是一些对于shell和命令行的对比。个人觉得除了非常专业的运维人员,对大多数开发人员来说,这两者的差别不大,也不影响大家对于linux系统的使用。



    展开全文
  • 这个问题也是突然想起来的,因为我身边的同事有时候会把这两个区别的表述,所以我就好奇了,到底是什么关系呢,他们都能操作Linux系统啊。。后来百度一下才知道大致的区别。一、什么是shell答: shell翻译成壳的...

          这个问题也是突然想起来的,因为我身边的同事有时候会把这两个区别的表述,所以我就好奇了,到底是什么关系呢,他们都能操作Linux系统啊。。后来百度一下才知道大致的区别。

    一、什么是shell

    答: 
          shell翻译成壳的意思,它是包裹在linux内核外层的,一个可通过一系列的linux命令对操作系统发出相关指令的人机界面。 shell可以通过其条件语句和循环语句等,把一系列linux命令结合在一起,形成一个相当于面向过程的程序,shell script,来实现一些较为复杂的功能。

          总括,shell是linux命令集的概称,是属于命令行的人机界面。Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson的sh是第一种Unix Shell,Windows Explorer是一个典型的图形界面Shell。Shell 和Shell Script不是一回事,通常我们说的都是Shell Script。

          由定义可知, shell相当于经过装饰的命令行,和命令行一样,都能操作linux。但是shell是面向过程的,相当于有了一定的逻辑和过程,而命令行只是单一的操作。

    二、区别

    1、直接在命令行执行 就是在当前的shell环境下执行 比如涉及到一些环境变量的时候 必须在当前shell环境里执行

          在脚本里执行的话 脚本执行的时候 会fork一个子进程 所有操作都在子进程进行 如果涉及到一些在脚本里设置环境变量的东西 脚本结束了 环境变量也就消失了。 
    这个修改环境变量的话,需要特别注意下。

    2、shell可以重复执行一些命令。你也可以把自己要重复执行的命令写到脚本里面执行。而命令行的话就需要一个一个的输入命令,相对而言麻烦一些。

          上面就是一些对于shell和命令行的对比。个人觉得除了非常专业的运维人员,对大多数开发人员来说,这两者的差别不大,也不影响大家对于linux系统的使用。

    加油。 
    end

    展开全文
  • 这个问题也是突然想起来的,因为我身边的同事有时候会把这两个区别的表述,所以我就好奇了,到底是什么关系呢,他们都能操作Linux系统啊。。后来百度一下才知道大致的区别。一、什么是shell答:  shell翻译成壳的...

          这个问题也是突然想起来的,因为我身边的同事有时候会把这两个区别的表述,所以我就好奇了,到底是什么关系呢,他们都能操作Linux系统啊。。后来百度一下才知道大致的区别。

    一、什么是shell

    答:
          shell翻译成壳的意思,它是包裹在linux内核外层的,一个可通过一系列的linux命令对操作系统发出相关指令的人机界面。 shell可以通过其条件语句和循环语句等,把一系列linux命令结合在一起,形成一个相当于面向过程的程序,shell script,来实现一些较为复杂的功能。

          总括,shell是linux命令集的概称,是属于命令行的人机界面。Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson的sh是第一种Unix Shell,Windows Explorer是一个典型的图形界面Shell。Shell 和Shell Script不是一回事,通常我们说的都是Shell Script。

          由定义可知, shell相当于经过装饰的命令行,和命令行一样,都能操作linux。但是shell是面向过程的,相当于有了一定的逻辑和过程,而命令行只是单一的操作。

    二、区别

    1、直接在命令行执行 就是在当前的shell环境下执行 比如涉及到一些环境变量的时候 必须在当前shell环境里执行

          在脚本里执行的话 脚本执行的时候 会fork一个子进程 所有操作都在子进程进行 如果涉及到一些在脚本里设置环境变量的东西 脚本结束了 环境变量也就消失了。
    这个修改环境变量的话,需要特别注意下。

    2、shell可以重复执行一些命令。你也可以把自己要重复执行的命令写到脚本里面执行。而命令行的话就需要一个一个的输入命令,相对而言麻烦一些。

          上面就是一些对于shell和命令行的对比。个人觉得除了非常专业的运维人员,对大多数开发人员来说,这两者的差别不大,也不影响大家对于linux系统的使用。

    加油。
    end

    展开全文
  • ①基础命令行和Shell都可以操作Linux系统,区别在于 不同点: ①基础命令行(ls、cd等),是一种单一的操作。 ②Shell可以比基础命令行更复杂,是一种组合型的操作。相比基础命令拥有了面向过程的概念。 ...

    相同点:
    ①基础命令行和Shell都可以操作Linux系统,区别在于
    不同点:
    ①基础命令行(ls、cd等),是一种单一的操作。
    ②Shell可以比基础命令行更复杂,是一种组合型的操作。相比基础命令拥有了面向过程的概念。

    展开全文
  • bash shell的命令分为两类:外部命令和内部命令。外部命令是通过系统调用或独立的程序实现的,如sed、awk等等。内部命令是由特殊的文件格式(.def)所实现,如cd、history、exec等等。在说明exe和source的区别之前,...

     

    exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息。

    bash shell的命令分为两类:外部命令和内部命令。外部命令是通过系统调用或独立的程序实现的,如sed、awk等等。内部命令是由特殊的文件格式(.def)所实现,如cd、history、exec等等。

    在说明exe和source的区别之前,先说明一下fork的概念。

    fork是linux的系统调用,用来创建子进程(child process)。子进程是父进程(parent process)的一个副本,从父进程那里获得一定的资源分配以及继承父进程的环境。子进程与父进程唯一不同的地方在于pid(process id)。

    环境变量(传给子进程的变量,遗传性是本地变量和环境变量的根本区别)只能单向从父进程传给子进程。不管子进程的环境变量如何变化,都不会影响父进程的环境变量。

     

    shell script:

    有两种方法执行shell scripts,一种是新产生一个shell,然后执行相应的shell scripts;一种是在当前shell下执行,不再启用其他shell。
    新产生一个shell然后再执行scripts的方法是在scripts文件开头加入以下语句

    #!/bin/sh

    一般的script文件(.sh)即是这种用法。这种方法先启用新的sub-shell(新的子进程),然后在其下执行命令。
    另外一种方法就是上面说过的source命令,不再产生新的shell,而在当前shell下执行一切命令。

     

    source:

    source命令即点(.)命令。

    在bash下输入man source,找到source命令解释处,可以看到解释"Read and execute commands from filename in the current shell environment and ..."。从中可以知道,source命令是在当前进程中执行参数文件中的各个命令,而不是另起子进程(或sub-shell)。

     

    exec:

    在bash下输入man exec,找到exec命令解释处,可以看到有"No new process is created."这样的解释,这就是说exec命令不产生新的子进程。那么exec与source的区别是什么呢?

    exec命令在执行时会把当前的shell process关闭,然后换到后面的命令继续执行。

     

    展开全文
  • shell脚本的开头往往有一句话来定义使用哪种sh解释器来解释脚本。  (1) #!/bin/sh  (2) #!/bin/bash 二者区别如下: 1.新建test.sh脚本内容如下: #!/bin/sh source pcy.sh #pcy.sh并不存在 echo hello 执行...
  • 执行linux命令,将执行命令返回的值,赋给shell中的变量 第一种 data=`command` 第二种 data=$(command)其他 开头必须以 #!/bin/sh 开头 #![Args],Args表示执行该文件的程序 chmod +x filename,使可通过 ./...
  • shell翻译成壳的意思,它是包裹在linux内核外层的,一个可通过一系列的linux命令对操作系统发出相关指令的人机界面。 shell可以通过其条件语句和循环语句等,把一系列linux命令结合在一起,形成一个相当于面向过程的...
  • 在Makefile可以调用shell脚本,但是Makefile和shell脚本是不同的。本文试着归纳一下Makefile和shell脚本的不同。 1、 shell中所有引用以$打头的变量其后要加{},而在Makefile中的变量是以$打头的后加()。实例如下: ...
  • 本系列适合Linux初学者,属于Linux入门级教程,主要介绍了Shell的分类...Linux Shell系列教程之(一)Shell简介Linux Shell系列教程之(二)第一个Shell脚本Linux Shell系列教程之(三)Shell变量Linux Shell系列教程之
  • Linux shell终端打开方式
  • 曾经写过“交互式shell和非交互式shell、登录shell和非登录shell区别”,但那时理解相对更浅一些,现在多了一点认识,把这篇文章稍微完善一下吧。 交互式shell和非交互式shell、登录shell和非登录shell区别。...
  • 什么是SHELLshell的中文意思就是贝壳,其实比较类似于我们内核的壳。我们通过hsell和用户通信SHELL简而言之就是只要能够操作应用程序的接口都能够称为SHELL。狭义的shell指的是命令行方面的软件,广义的SHELL则...
  • 什么是Linux Shell

    2018-04-25 19:41:10
    是在Linux内核用户之间的解释器程序,现在Linux通常指/bin/bash解释器来负责向内核翻译以及传达用户/程序指令,shell相当于操作系统的“外壳”Shell的使用方式交互式---命令行--人工干预。智能化程度高--逐条解释...
  • 我的机器学习教程「美团」算法工程师带你入门机器学习 已经开始更新了,欢迎大家订阅~ 任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑...
  • Linux执行Scripts有两种方式,主要区别在于是否建立subshell 1. source filename or . filename 不创建subshell,在当前shell环境下读取并执行filename中的命令,相当于顺序执行filename里面的命令 ...
  • Linux编程returnexilt区别 exit 是用来结束一个程序的执行的,而return只是用来从一个函数中返回。 return  return 表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定,...
  • 我们在shell 脚本编程中,经常需要用到字符串切割,即将字符串切割为一个数组,类似java 中的split 函数,下面对几种常见的方式做一个总结。目录方法一: 利用shell 中 变量 的字符串替换 方法二: 设置分隔符,...
  • 一般Linux上执行一个shell脚本,有如下几种方法: bash test.sh source test.sh . test.sh ./test.sh source 和 . source和 . 这两个都是shell自带的内建命令,这两个命令是等价的关系。也就是说 source test....
  • 说起函数调用,相信大家也不会陌生,然而对于初学Shell的我来说,Shell中函数调用方式却有点让我不太习惯,自己也走了不少的弯路,因为传递参数时出了一个很“自然”的错误,也让我吃了不少的苦头,所以总结一下...
1 2 3 4 5 ... 20
收藏数 560,351
精华内容 224,140