**
嵌入式开发工具
命令解释器-shell
**
1、标准输入的文件描述符号0,标准输出的文件描述符号1,
标准错误输出的文件描述符号2
2、>:重定向
echo hello > test.txt 这样控制台就不会输出hello了,而是把输出重定向到test.txt文件中了
echo hello >> test.txt >> 是在文件后面追加 > 是覆盖
3、Shell就是一个命令解释器,它为用户提供了一个向Linux内核发送请求以便运行程序界面系统级程序
目前流行的几种shell:ash、bash、csh、zsh等(Linux下用的是bash)
#echo $SHELL(#echo是输出 $shell 查询shell类型)
管道pipe
command 1| command2[|command3……] 将一个程序的输出送到另一个程序的输入 command 1|
&command2[|&command3……] 将标准错误输出到管道
Shell常用的环境变量;
1、 HOME:用来保存注册目录的完全路径名
2、 PATH:用来保存用冒号分隔的目录路径名,shell将按PHAT 变量给出的顺序搜索这些目录,找到的第一个与命令名称一致的可执行文件将被执行
3、 TERM:终端的类型
4、 UID:当前用户的标识符
5、 PWD:当前工作目录的绝对路径
Shell的语法
主要由开头部分、注释部分以及语句执行部分组成
开头:#!/bin/bash(#是注释)
(#!用来告诉系统它后面的参数是用来执行该文件的程序,在这个例子中使用bin/bash来执行程序)
文件执行
c语言代码展开
代码执行
Shell变量
1、 本地变量(也称为用户自定义变量,是在当前shell环境,当前进程内有效变量,当用户注销时,或者启用子shell时,子进程时该变量不起作用)
2、 环境变量
3、 特殊变量
调用变量时则应在变量名前加一个美元符号($)
设置变量输出
使用set命令可以查看所有的本地变量和环境变量
本地变量,也称为用户自定义变量,是在当前shell环境,当前进程内有效变量,当用户注销时,或者启用子shell时,子进程时该变量不起作用(#shell-name)
一、 定义本地变量
1、 在bash shell环境下,定义本地变量的设置格式如下: 变量名=变量值(若等号两边有空格,则必须使用引号括起来)
example:
#s1 = hello
#s2 =”hello world!”
二、变量设置的规定
1、变量名称只能是英文字母、下划线与数字,但数字不能是开头字符
2、若有空格,可以使用双引号或单引号将变量内容连接起来
3、用户也可以在命令行上同时定义多个变量赋值,赋值语句之间用空格分开
#x-4 y-5
readonly命令 有时需要说明一个变量并对他设置为一个特定值后就不需要它再改变时,可以用readonly保证一个变量的只读性
read
语法:read -pt[变量名]
功能:读取来自键盘输入的变量
可选项
-p: 后面可以接提示信息
-t: 后面可以接等待的秒数,为了防止一直等待用户
Eg:
让用户通过键盘输入内容,将该内容改成atest变量 提示用户30秒内输入自己的名字,将该输入字符串做成name变量
有错的