首页 > 系统相关 >shell学习

shell学习

时间:2024-10-30 22:22:19浏览次数:7  
标签:shell 变量 ROOT 学习 BUILD ARCH arm

set -e解释

如果你是在引用 shell 脚本中的 set -e,那么在 shell 中它的意思是“如果任何命令的退出状态非零,则立即退出脚本”。这种用法可以防止脚本在遇到错误时继续执行。


declare -x ARCH="arm"是什么意思?

declare -x ARCH="arm" 是一个在 Bash shell 中的命令,具体含义如下:

  • declare 是一个 Bash 内置命令,用于声明变量和给变量设置属性。
  • -x 是一个选项,用于将变量标记为环境变量。这意味着该变量将被导出到子进程中,可以在执行的脚本或程序中访问。
  • ARCH="arm" 是对变量 ARCH 进行赋值,将其设置为字符串 "arm"

因此,执行这条命令后,变量 ARCH 将被设置为 "arm",并且它会被导出为环境变量,允许在当前 shell 的子进程中访问。这在编译或执行与特定架构相关的程序时非常有用。


if [ ! -d "$BUILD_ROOT" ];表示什么意思?

if [ ! -d "$BUILD_ROOT" ]; 是一个 Bash shell 中的条件语句,用于检查某个目录是否存在。具体含义如下:

  • if 开始一个条件判断语句。
  • [ ... ] 是一个测试命令的语法,用于评估条件。
  • ! 是逻辑否定运算符,用于反转条件的结果。
  • -d 是一个测试操作符,用于检查指定的路径是否存在且是一个目录。
  • "$BUILD_ROOT" 是一个变量,表示待检查的路径。

因此,这条命令的意思是:

如果 $BUILD_ROOT 变量所指向的路径 不存在 或 不是一个目录,则条件成立。在这种情况下,后续的命令将会被执行。

通常,这种语句用于在目录不存在时创建目录或执行其他相关操作。例如:

if [ ! -d "$BUILD_ROOT" ]; then
    mkdir -p "$BUILD_ROOT"
fi

这段代码会在 $BUILD_ROOT 不存在时创建该目录。


 

标签:shell,变量,ROOT,学习,BUILD,ARCH,arm
From: https://www.cnblogs.com/chentiao/p/18516724

相关文章

  • 学习笔记(十四):ArkUi-单选框 (Radio)
    概述:单选框组件,通常用于提供相应的用户交互选择项,同一组的Radio中只有一个可以被选中。单选框组件不支持自定义样式一、创建单选框接口形式如下:value为单选框名称,group为单选框所在组的名称,同一个组内最多只有一个单选框为选中状态Radio(options:{value:string,group:......
  • Pytorch学习--神经网络--线性层及其他层
    一、正则化层torch.nn.BatchNorm2dtorch.nn.BatchNorm2d(num_features,eps=1e-05,momentum=0.1,affine=True,track_running_stats=True,device=None,dtype=None)正则化的意义:加速训练收敛:在每一层网络的输入上执行批量归一化可以保持数据的分布稳定,从而减小梯度......
  • D53【python 接口自动化学习】- python基础之模块与标准库
    day53自定义模块学习日期:20241030学习目标:模块与标准库--67自定义模块:如何编写一个完整功能?学习笔记:创建自定义模块自定义模块注意事项 自定义模块deffunc1():return'thisisafunction'classClass1(object):def__init__(self):print(......
  • 《算法导论》Ch.4_学习笔记
    <分治策略>分治策略三步骤:分解:将问题划分为一些子问题,子问题的形式与原问题一样,只是规模更小。解决:递归地求解出子问题,如果子问题地规模足够小,则停止递归,直接求解。合并:将子问题地解组合成原问题地解。递归情况:子问题足够大,需要递归求解。基本情况:子问题足够小,不再需要递归......
  • STM32学习笔记-GPIO
    参考江科大32单片机学习相关知识GPIO基本构造APB2(AdvancedPeripheralBus2)是STM32微控制器架构中的一个外设总线,用于连接一些高性能外设,如定时器、USART、ADC和GPIO等。这些外设通常对性能要求较高,需要更快的数据传输速率。相较于APB1,总线频率更高,适合用于需要快速响应......
  • 强连通分量学习笔记+杂题
    图论系列:前言:僕は明快さ故にアイロニー優柔不断なフォローミー後悔後悔夜の果て相关题单:戳我一.强连通分量相关定义基本摘自oiwiki,相关定义还是需要了解。(实际就是搬了个oiwiki)强连通分量主要在研究有向图可达性,针对的图类型为有向弱联通图。1.强连通定义强连通:对......
  • 【C++】踏上C++学习之旅(四):细说“内联函数“的那些事
    文章目录前言1."内联函数"被创造出来的意义2.内联函数的概念2.1内联函数在代码中的体现2.2普通函数和内联函数的汇编代码3.内联函数的特性(重点)4.总结前言本章来聊一聊C++的创作者"本贾尼"大佬,为什么要创作出内联函数,以及内联函数的定义和内联函数的实现机制等......
  • Django学习-缓存
    定义:当遇到这种查询慢的时候 ,我们就可以在查询完数据库的时候,将查询的结果存储到缓存中一份,下次查询的时候直接从缓存中获取,避免查询数据库耗费时间,当然需要设置一个过期时间,来更新缓存Django中设置缓存-数据库缓存 配置:  Django中设置缓存-本地内存缓存(测试可以使......
  • 【红队】利用 PsycheShell 进行 Paste Jacking 以获取隐秘的反向 Shell
    原创Ots安全介绍在网络安全领域,粘贴劫持(PasteJacking)等技术代表着社会工程攻击日益复杂的趋势。当用户从网页上复制看似无害的内容,但粘贴的内容却遭到恶意篡改时,就会发生粘贴劫持。攻击者可以使用此技术在目标机器上执行命令,尤其是当用户粘贴到终端等敏感环境中时。在本......
  • 2024-10-30 学习人工智能的Day18
    Python包和模块当使用Python编程时,包(Packages)和模块(Modules)是两个关键的概念,它们有助于组织、管理和复用代码。1.模块(Modules)1.1什么是模块一个.py文件就是一个模块模块是含有一系列数据,函数,类等的程序作用把相关功能的函数等放在一起有利于管理,有利于多人合作开......