shell从入门到精通(21)运行环境讨论

news/2024/10/20 21:09:55/

参考:
https://www.gnu.org/software/bash/manual/html_node/Environment.html
https://www.gnu.org/software/bash/manual/html_node/Command-Grouping.html

文章目录

    • 关于函数执行的环境
    • 关于命令的分组
    • 关于命令的搜索、执行过程

关于函数执行的环境

当一个程序被调用时,它会被提供一个称为环境的字符串数组。这是一个由名值对组成的列表,形式为name=value。

可以通过name=[value]的形式给变量赋值。如果未提供value,则变量被赋值为空字符串。所有的值都会经过各种扩展,如波浪线扩展、参数和变量扩展、命令替换、算术扩展和引号去除。但不进行单词拆分和文件名扩展。赋值语句也可以出现在别名、declare、typeset、export、readonly和local内置命令(声明命令)的参数中。在POSIX模式下,这些内置命令可以出现在一个或多个command内置命令之后,并保留这些赋值语句的属性。

Bash提供了几种操作环境的方式。在调用时,shell会扫描自己的环境,并为每个找到的名字创建一个参数,自动标记为导出给子进程使用。执行的命令会继承环境。export 和 ‘declare -x’ 命令允许向环境中添加和删除参数和函数。如果环境中的参数值被修改,新值将成为环境的一部分,替代旧值。任何执行的命令继承的环境包括shell的初始环境,其值可以在she


http://www.ppmy.cn/news/1026026.html

相关文章

4.利用matlab符号矩阵的四则运算(matlab程序)

1.简述 符号对象的建立 sym函数 sym函数用于建立单个符号对象,其常用调用格式为: 符号对象名sym(A) 1 将由A来建立符号对象,其中,A可以是一个数值常量、数值矩阵或数值表达式(不加单引号),此时符号对象为一个符号常量;…

11.集群调度

文章目录 集群调度调度约束list-watc机制的概念pod的创建流程 调度过程Scheduler 作用预选策略优选策略指定调度节点nodeNamenodeSelector 亲和性node亲和pod亲和pod反亲和 污点(Taint)和容忍(Tolerations)污点(Taint)容忍(Tolera…

AI工具赋能,实现高效变现,实现提前下班

本篇文章很长并很有价值,希望你能耐心看到最后。 导语 在这个信息快速爆炸的时代,人工智能(AI)成为推动社会进步和创造价值的重要力量。 AI能改变世界吗?当然。 现在吗?不是。 我是一个热爱AI的程序员…

【杨辉三角的两种解法——(超级详细)】

杨辉三角 1.杨辉三角简介🕵️ 杨辉三角,是二项式系数在三角形中的一种几何排列。在欧洲,这个表叫做帕斯卡三角形。帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600…

3.0 Python 迭代器与生成器

当我们需要处理一个大量的数据集合时,一次性将其全部读入内存并处理可能会导致内存溢出。此时,我们可以采用迭代器Iterator和生成器Generator的方法,逐个地处理数据,从而避免内存溢出的问题。 迭代器是一个可以逐个访问元素的对象…

SpringBoot在线失物招领系统

一个基于SpringBootSemanticUI的pc Web在线失物招领系统 http://localhost:8080/swzl/index 主页 http://localhost:8080/swzl/login 登录页 用户表user admin字段为true是管理员 false用户 springboot2.3 springmvc mybatis html ajax idea 或eclipse maven mys…

三元组的最小距离

定义三元组 (a,b,c) (a,b,c 均为整数)的距离 D|a−b||b−c||c−a| 。 给定 3 个非空整数集合 S1,S2,S3,按升序分别存储在 3 个数组中。 请设计一个尽可能高效的算法,计算并输出所有可能的三元组 (a,b,c) (a∈S1…

【LangChain】Memory

概要 大多数LLM应用都有对话界面。对话的一个重要组成部分是能够引用对话中先前介绍的信息。至少,对话系统应该能够直接访问过去消息的某些窗口。更复杂的系统需要有一个不断更新的世界模型,这使得它能够执行诸如维护有关实体及其关系的信息之类的事情。…