自学笔记——shell(基础)

本文档为一位初学者在学习Shell脚本过程中的笔记总结,包括语法特点、命令执行流程控制及环境配置等内容,旨在帮助读者理解并掌握Shell脚本的基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    在最难就业季的升级版,作为一张白纸的大学生,尤其是妹纸,各种困难啊有木有。发现很多公司都要求至少会一种脚本语言,于是决定学一下shell。本以为很简单,下了本电子书,发现内容还是很多的,仔细看的话也有很多细节。在此做了下笔记,里面只是个人认为没有牢固掌握的,有些常用的但自己已经知道的就没有做记录,因此权当做个人的笔记。


1.以#!开头后面可传递解释器的路径,其后不要加空格,因为其也会被传递给被引用的程序。

2.#!行的长度尽量不要超过64个字符。(根据系统不同长度限制为64~1024)

3."#! /bin/sh -"中的-表示没有选项,避免了欺骗攻击。

4.两个破折号(--)常表示长选项的开头,也可表示选项结尾。

5.分号(;)可用来分隔同一行里的多条命令,shell会依次执行。如果是&则shell会后台执行前面的命令(shell不用等到命令完成就可以执行后一条命令)。

6.shell变量名开头是一个字母或下划线,长度无限制。

7.多个变量作为一个新值时需要用双引号括起来,如fullname="$first $middle $last"。

8.echo的-n选项表示忽略最后的换行符,如echo "Enter your name:"。也可以在结尾加\c表示不要打印换行符。

9.echo版本上有差异,可用printf代替。printf需显式的提供换行符\n。

10.<改变标准输入,>改变标准输出,>>附加到文件尾部。从左往右执行,如:tr -d '\r' < dos-file.txt > UNIX-file.txt。这条命令先将dos-file.txt里的回车删除,再输出到UNIX-file.txt。

11.位桶(bit bucket)是一个特殊文件/dev/null。如果需要的是命令的退出状态而非其输出,可使用此文件。如:if grep pattern myfile > /dev/null then ... else ... fi。读取/dev/null会立即返回文件结束符号。

12.打开/dev/tty时会自动将它重定向到一个终端(实体控制台或串行端口或通过网络与窗口登陆的伪终端)再与程序结合。这在程序必须读取人工输入时特别有用。也可用来产生错误信息,但不常用。

13.$PATH可用来查找路径,以冒号分隔,空项目表示当前目录,根据空项目位置表示查找当前目录的顺序(从左往右),有版本不支持$PATH结尾的空项目。将当前目录纳入查找路径时最好使用点号,让阅读程序的人更清楚。一般不应在查找路径放入当前目录,会存在安全问题。

14.位置参数(positional parameters)也就是shell脚本的命令行参数。在shell函数里,也可以是函数参数,各参数都由整数来命名。基于历史原因超过9时需用大括号括起来。如:echo tenth arg is ${10}

15.用set -x命令打开执行跟踪功能,set +x关闭。显示的命令前面会有"+"。

16.控制让哪种语言或文化环境生效的功能叫做locale。LC_ALL强制设置单一locale,LANG用来设置locale默认值。

FPGA自学笔记——设计与验证JMB FPGA(可编程逻辑门阵列)是一种可编程的硬件平台,可以实现各种数字电路的设计与验证。本文将简要介绍使用FPGA自学设计与验证JMB(低功耗、高效能、集成度高的多媒体芯片)的过程。 首先,我们需要了解JMB的功能和特性。JMB是一种面向多媒体应用的芯片,具备低功耗、高效能和高集成度的优势。我们需要详细研究JMB的硬件架构和内部模块,包括处理器核、存储器模块、图像和音频处理模块等。 接下来,我们可以使用FPGA开发板来设计和验证JMB。首先,我们需要熟悉FPGA设计工具,例如Vivado或Quartus等。这些工具提供了图形化界面和硬件描述语言(HDL)等设计方法。我们可以使用HDL编写JMB的功能模块,并将其综合为FPGA可执行的位流文件。 在设计完成后,我们需要验证JMB的功能和性能。我们可以使用仿真工具(例如ModelSim或ISE Simulator)来模拟JMB在不同情况下的行为。通过设计测试程序并运行仿真,我们可以验证JMB的各个模块是否正确地工作,是否满足设计要求。 在验证完成后,我们可以将位流文件下载到FPGA开发板中进行智能芯片的物理实现和测试。通过与外部设备的连接以及相关测试程序的运行,我们可以验证JMB在实际硬件中的功能和性能。 总结起来,学习FPGA设计与验证JMB,我们需要熟悉JMB的硬件架构和内部模块,并使用FPGA开发工具进行设计与验证。通过仿真和物理实现测试,我们可以验证JMB的功能和性能。这些过程需要理论知识和实践经验的结合,希望这些笔记能够给你提供一些参考和指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值