zoukankan      html  css  js  c++  java
  • 关于Bash命令的一些理解

    bash中每个命令即对应一个文件, 可以根据which来查询所所使用命令文件所在的位置.

    常用的ls,cp等命令都储存/usr/bin中, 可以通过which [命令] 来查看命令文件所在位置. (cd命令无文件, 通过bash实现)
    在使用ls查看文件的时候, 同样可以用/usr/bin/ls这样的命令.


    Bash执行规则
    bash寻找文件的时候, 有两种方式.
    第一种就是根据路径来找: 例如我们输入了/或者.等具有路径含义的符号, 则会从路径开始寻找.
    第二种,就是直接在环境变量中设置的目录中寻找.

    例如我们在终端输入了xxxxx这个奇怪的命令.
    终端会去已经设置的系统变量的路径里面, 去寻找这个叫xxxxx名字的文件. 根据设置的顺序依次寻找/usr/local/bin:/bin:/usr/bin(系统变量:分割)
    当这所有的文件夹里面都找不到这个xxxxx文件.
    提示:未找到命令.

    接下来, 我们在随便一个设置了系统变量的文件夹里创建一个xxxxx的文件.

    再次执行xxxxx命令.
    提示:权限不够.

    刚创建的文件没有加权限, 增加执行权限之后.
    提示:asdf未找到命令(asdf是我刚刚创建xxxxx文件的时候随便输入的内容)
    也就是说,在执行文件的时候,依旧会进去找命令.


    在xxxxx内添加了一行内容, 是Python解释器的地址.再次执行.
    则直接运行python.


    那么, 这也就解释了, 为什么我们在写代码的时候, 前面要加上解释器的地址.不过有所不同的是,如果直接写入解析器地址的话, 则直接打开解释器(后面文本的命令会在关闭解释器的时候再继续执行).
    需要对解释器的地址进行特殊注释#!,表示将以下的内容传给哪个文件进行执行.

    关于Bash命令的一些理解

  • 相关阅读:
    JAVA中的for循环
    Android项目开发全程(三)-- 项目的前期搭建、网络请求封装是怎样实现的
    Android项目开发全程(二)--Afinal用法简单介绍
    Android项目开发全程(一)--创建工程
    Spring中的线程池和定时任务功能
    JVM内存分析
    并发基本概念介绍
    javax顶层接口分析
    HttpServlet源码分析
    SpringMVC创建HelloWorld程序
  • 原文地址:https://www.cnblogs.com/jrri/p/12114010.html
Copyright © 2011-2022 走看看