嵌入式 - shell 常用语法简单总结
初步使用#!bin/bashecho Hello world!echo# shellvim helloworld.shchmod ux helloworld.sh# 在当前bash运行. helloworld.shsource helloworld.sh# 在子bash中运行无法修改当前shell的变量./helloworld.shLinux中工具链的配置 ~/.bashrc用于定义当前用户的Bash shell 环境参数。每次打开终端时该文件就会执行。在~/.bashrc中添加export ARCHarmexport CROSS_COMPILEarm-buildroot-linux-gnueabihf-export PATH$PATH:/home/ayuan/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin别名alias llls -l # 输入 ll 等效于 ls -l变量# 常用系统变量echo $HOME; echo $PWD; echo $SHELL; echo $USER# 定义变量时号前后不能有空格# 全局变量定义上层shell定义的全局变量下层可以查看修改但是对上层没有影响export ARMarmshell脚本中单引号和双引号的区别echo hello $name # hello worldecho hello $name # hello $name参数# 传入的参数个数$## 传入的参数分别为$0; $1; $2;# 传入的所有参数整体和分开$*; $;# 最后一条命令的返回状态$?# 当前shell的进程ID$$运算A$[12*3]条件判断if [ $1 -le $b ]thenechoelifechoficase $1 in1)echo;;2)echo;;*)echo;;esac# 常用判断符号-eq -lt -le -gt -ge -ne-r -w -x-e # 文件存在-f # file-d # dir# 字符串比较 !-z # 空串-n # 非空串# 逻辑-a -o !替换运算符${var_name:-def_Val}如果变量var_name存在且为非null返回该变量的值否则返回默认值def-Val注意var_name与:之间没有空格:与-之间可以有空格。主要用途如果变量未定义则用默认值。${var_name:val}如果变量var_name存在且为非null返回该变量的值否则把val的值赋给变量var_name并返回var_name的值val。注意var_name与:之间没有空格:与之间也不能有空格。${var_name:?message}如果变量var_name存在且为非null返回该变量的值否则返回该变量的名字var_name:提示信息meesage并退出当前命令或脚本。注意var_name与:之间没有空格:与?之间也不能有空格。${var_name:val}如果变量var_name存在且为非null返回val否则返回null。注意var_name与:之间没有空格:与之间也不能有空格。${#val_name}返回变量长度。$(())算术运算操作。$((var1 opr var2))例如:$((51))只能是-*/和()运算符并且只能做整数运算。$()命令代换类似于反引号 例如echo $(date)。循环for i in $doecho $idone#for((i1;i100;i))dosum$[$sum$i]donewhile [ $i -le 100 ]dosum$[$sum$i]i$[$i1]done输入读取read -t 5 -p Enter name: NNecho NN函数# 系统函数basename /home/atguigu/banzhang.txt# banzhang.txtbasename /home/atguigu/banzhang.txt .txt# banzhangdirname /home/atguigu/banzhang.txt# /home/atguigu# 自定义函数function sum(){s0s$[$1$2]echo $s}正则表达式# 开头^# 结尾$# 连续多个字符a*# 字符区间[0-9]* [a-z]*# 转义\$文本处理工具# cut 提取列。-d分隔符-f第几列cut -d -f 1 file.txt# awk 提取元素提取 正则搜索 提取出的所有行的 以 : 分隔的 第七个 元素。awk -F : /正则搜索/{print $7}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2471047.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!