嵌入式c累积之shell脚本

阅读: 评论:0

嵌入式c累积之shell脚本

嵌入式c累积之shell脚本

嵌入式shell准备

  • 前置内容
    • 1. 第一个shell,以下都是在终端直接输入
    • 2. 变量练习
      • 环境变量
      • export 导出一个环境变量练习
      • 位置变量,也叫内部变量,由系统提供,不可修改
        • 位置移动命令shift [n],每执行一次shift,实参就会向左移动一位,了解下,不太常用
      • 竖杠(管道)
      • ><(重定向)
    • 3. 算术运算 expr主要用于进行简单的整数运算
    • 4. 关系运算
    • 5. 布尔与逻辑运算
    • 6. 文件测试运算
    • 7. 字符串
    • 8. 字符串运算
    • 9. 数组
    • 10. 分支
    • 11. 循环for while until
    • 12. 函数
    • 13. trap捕获信号,类似C语言中的signal 可以设置捕获信号或者忽略
      • 结束一个shell任务
    • 问题1:“ /bin/sh^M: bad interpreter: No such file or directory”
    • 问题2:终端字体字体颜色设置???
    • 问题2-1 终端其他属性代码
      • 问题2-2: 使用c语言来实现???
  • 补充 2023-12-7日
    • 关于shell??
    • 命令的执行顺序
      • 命令控制
    • shell通配符,主要是过滤用的,模式匹配

​ 用心,再用心,看了坚持了17年高考的唐尚珺,终于准备读大学了。感慨良久,嵌入式也是一条长路呀。

前置内容

1. 第一个shell,以下都是在终端直接输入

vim hello.sh,然后在hello.sh中输入

#!/bin/bash 
#shell 特定的开头格式,表示该脚本采用哪个Shell解释执行,如果没有此句表示采用默认的Shell执行脚本
echo -e "my ljunn"
# -e开启转义  #除第一行外,其他都是注释 ,注释正确的话,在终羰下会显示为绿色。      #要顶格写                                          

2. 变量练习

Shell 脚本是一种弱类型语言,在脚本当中使用变量不需要也无法指定变量的“类型”。缺省状态下,Shell 脚本的变量都是字符串,即一连串的单词列表。共有3种变量:用户自定义变量,环境变量、内部变量

#!/bin/bash 
count=1    #用户自定义变量
echo $count
name="liuj"   #赋值号右边只有一个单词,如果是词组必须用双引号括起来,并且,赋值号两边都没有空格
echo $name  # 变量引用
echo $HOME
#HOME 大写是一个环境变量 表示home路径
unset name  #unset删除变量name
echo ${name}

环境变量

主要的环境变量有:
$LOGNAME  用户登录名
$LANG  语言设置
$HOME  用户自己的主目录
$PSI     Shell命令行提示符
$HOSTNAME   主机名
$PS2  命令未完成输入时,再输入时的提示符
$SHELL    Shell路径
$MANPATH   man命令的搜索路径
$PATH   命令执行时的搜索路径

export 导出一个环境变量练习

export表示让设置的环境变量立刻生效。清除用 unset [变量名]

#!/bin/bash
# export 导出一个环境变量
export MY_NAME="liuj"
env | grep MY_NAMEenv  #可显示当前用户的所有环境变量
set
#env命令和set命令的区别是,set命令可以查看所有变量,而env命令只能查看环境变量

位置变量,也叫内部变量,由系统提供,不可修改

# 命令行变量
$0   与键入的命令行一样,包含脚本文件名
$1,$2,……$9  分别包含第一个到第九个命令行参数
$#   包含命令行参数的个数  ### 可以理解为数组的下标,是实际的参数的个数,$@   包含所有命令行参数:“$1,$2,……$9”
$*   与上面命令一样$?   包含前一个命令的退出状态,返回0,表示上一条命令执行正确,其他任何值都表明有错误
$$   包含正在执行进程的ID号
$!   后台运行的最后一个进程的ID号
# 系统预定义的变量
echo $PATH
echo $PWD新建一个.sh文件,输入
#!/bin/bash
echo 正在执行脚本名称是$0
echo 第一个参数age=$1
echo 第二个参数是address="$2"
echo 全部的参数是 $*然后在终端输入:xx.sh 12 shandong
会显示出这行命令行的参数。
位置移动命令shift [n],每执行一次shift,实参就会向左移动一位,了解下,不太常用

大体的意思就是说,xx.sh a b c ;shift 2 #执行后结果就是只有实参c了

竖杠(管道)

将一个命令所达成的结果,给到另一个命令进行再加工,如ls -l | wc ls -l 负责收集当前目录
下的文件的信息,然后将这些文件名作为结果输送到管道,wc 这个命令接着从管道

本文发布于:2024-01-31 10:20:21,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170666763427822.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

下一篇:User
标签:嵌入式   脚本   shell
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23