当前位置: 首页 > news >正文

如何一个响指删除计算机里的一半文件?(二)

如何一个响指删除计算机里的一半文件?

我们接着上文来讲:Shell变量

声明变量

variable="Hello"

注意,在 Shell 里声明变量,等号的两边不能有空格,否则 Shell 会错把你的变量名当作某个命令,变量名需遵循如下规则:

  • 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
  • 中间不能有空格,可以使用下划线(_)。
  • 不能使用标点符号。
  • 不能使用bash里的关键字(可用help命令查看保留关键字)。

使用变量

在变量名前面加美元符号可以使用该变量:

#!/bin/sh
MY_MESSAGE="Hello World"
echo$MY_MESSAGE

有的时候我们需要在美元符号和变量中间添加一个花括号来区分变量名和其他内容之间的边界:

#!/bin/sh
skill="Java"
echo"I am good at ${skill}Script"

交互式声明变量

看下面这个例子:

#!/bin/sh
echoWhat is your name?
read MY_NAME
echo"Hello $MY_NAME- hope you're well."

echo 用来输出字符串。执行上面这段程序时,会先输出 What is your name?,之后第三行程序等待用户输入内容,把内容存储在 MY_NAME 变量当中,最后一行在字符串中

变量作用域

在一个脚本里,如果你还没有声明某个变量,就调用了它,Shell 不会给你一个报错,它会返回一个空字符串作为结果:

#!/bin/sh
# File name: myvar2.sh
echo"MYVAR is: $MYVAR"
MYVAR="hi there"
echo"MYVAR is: $MYVAR"

在终端执行上面脚本的结果如下:

$ ./myvar2.sh
MYVAR is:
MYVAR is: hi there

在终端里试试下面的例子:

$ MYVAR=hello
$ ./myvar2.sh
MYVAR is:
MYVAR is: hi there

我们先在终端设置了一个变量 MYVAR,然后通过该界面执行 myvar2.sh 文件,结果该文件并没有继承这个变量。实际上当我们运行 myvar2.sh 时,会生成一个新的 shell 执行该文件,此时两个运行环境是分离的,只有 Shell 当中的环境变量才能被继承,而终端里的 MYVAR 此时只是另一个局部变量而已。

http://www.dtcms.com/a/333699.html

相关文章:

  • 【工具】多图裁剪批量处理工具
  • 基于element-plus和IndexedDB数据库的基础表单
  • 嵌入式:Linux软件编程:线程
  • 深入浅出的 RocketMQ-面试题解析
  • AI架构师生存手册:图解避坑MCP工具链/智能体RAG/推理蒸馏实战
  • TF 上架协作实战,跨部门配合下的内测发布节奏管理
  • Cursor CLI 技术解析:免费调用 GPT-5 的命令行方案
  • 工控机的用途与介绍:工业自动化的重要引擎
  • [激光原理与应用-287]:理论 - 波动光学 - 电磁波既能承载能量,又能承载信息?
  • Systemd Service 文件详解
  • 反射和类加载机制
  • Leetcode 最小生成树系列(2)
  • 深入解析 Monkey OCR:本地化、多语言文本识别的利器与实践指南
  • 德州扑克游戏术语
  • 什么是Redis的哨兵模式
  • 针对前面2篇文章的一个细节的修订(UAC ADC/DAC录音播放,以及UAC ADC/PWM录音播放)
  • const修饰指针用法详解
  • libdrm 和 libgbm
  • 零基础从头教学Linux(Day 13)
  • 13_集合框架
  • ScanNet项目介绍
  • Linux网络配置:聚合链路与网桥实战
  • 开疆智能ModbusTCP转Ethernet网关连接FBOX串口服务器配置案例
  • MySQL多表查询案例
  • 360 集团20周年会:战略升级ALL IN Agent,抢占智能体时代先机
  • OSCP - Proving Grounds - CVE-2024-25180
  • 基于WSL搭建Ubuntu 22.04.x LTS开发环境
  • LLM - 使用 SGLang 部署 Qwen3-32B 与 Qwen2.5-VL-32B-Instruct
  • 《GUI-Actor: Coordinate-Free Visual Grounding for GUI Agents》论文精读笔记
  • 今日分享:C++模板(全详解)