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