目录
shell是提供用户操作系统的一个接口,通过这个接口可以调用其他软件,比如man、chmod、vi等命令都是独立的应用程序,可以通过shell来操作这些应用程序,让这些应用程序调用内核来运行所需要的工作。内核(比如CPU进程、磁盘输入输出等)可以控制硬件来工作。
type -tpa ls #file为外部命令;alias为命令别名;builtin为bash内置命令;-p外部命令时现实完整文件名;-a列出path变量定义的路径
变量的显示:echo
变量的设置:
变量键盘读取、数组与声明:
1、read:读取来自键盘输入的变量
read -p "please input your name: " -t 30 named
-p表示输入提示符,-t表示固定时间内没有操作的话该命令直接略过,用户输入的值赋给「named」
2、declare/typeset:声明变量的类型
declare -aixr variable
-a:变量variable定义为数组array
-i:变量variable定义为整型integer
-x:变量variable定义为环境变量,+x可以取消
-r:变量variable设置为只读,不能更改能容不能重设
eg:
sum=1+2+3
echo $sum >> 1+2+3
declare -i sum=1+2+3
echo $sum >> 6
注意:变量类型默认为字符串;bash环境中的数值运算仅能达到整型,1/3结尾为0
3、array数组变量类型
下标从1开始,直接用var[1]=3赋值
变量内容的删除、替代与替换:
1、删除
# 从最前面开始向右删除,删除匹配的最短
## 从最前面开始向右删除,删除匹配的最长
% 从最末尾开始向左删除,删除匹配的最短
%% 从最末尾开始向左删除,删除匹配的最长
eg:
echo $path >> /bin/user/desk:/bin/test/power:/bin:
echo ${path#/*:} >> /bin/test/power:/bin:
2、替换