/dev/null #unix下的无底洞回收站
var=hello world #此时var的值是hello
var="hello world" #此时var的值是 hello world
/------------------------------------------
#!/bin/sh
new=sa
echo "hello world"
echo "$new welcome!" #结果是 "sa welcome!"
echo "$newwelcome!" #结果是 "",结果并不是我们期待的那样
echo "${new}welcome" #结果是 "sawelcome!"
小结:"$"来获取变量时以空格为结束符,如果没有,则必须加上"{}"-----------------/
/----------------------------------------
#变量的赋值: 变量名=值
#等号两边不能有空格,如果需要空格,则必须用引号引起来
#shell变量区分大小写
name=sa #正确
name= sa #错误,系统会把'sa'当作一个命令来解释,而忽略"name="!
name="sa bc" #正确
readonly variable # 只读变量! ---------------------------------------/
/----------------------------------------
#环境变量:用于所有的用户进程
#条件:
# 可用于所有的子进程(登录进程为父进程)
# 可以在命令行中设置,但用户注销后将丢失
# 均为大写!且必须用export命令导出
NAME=grape
export NAME --------------------------------------------------------/
/-----------------------------------------
# 变量长度
var=abc #或者 var="abc"
echo ${#var} #输出"3",得到字符串的长度(包括空格)
var=(ac b c) #var是数组
echo ${#var} #第一个数组元素的长度,相当于 ${#var[0]}
echo ${#var[*]} #得到数组元素的个数 ----------------------------------/
/------------------------------------------
#变量扩展:字符串处理工具
字符串替换:
${var/sour/dest} #将var中第一个"sour"替换为"dest"
${var//sour/dest} #将var中的所有的"sour"替换为"dest"
字符串截取:
${var:pos} #截取变量var位置pos开始后的值(pos从0开始)
${var:pos:len} #截取变量var从pos开始长度为len的值
${var#pattern} #从前端开始,截去符合pattern的最短子串,返回剩余字符串
${var##pattern} #..........................最长子串,............
${var%pattern} #从后端开始,截去符合pattern的最短子串,............
${var%%pattern} #..........................最长子串,............
如:var="rabcda"
echo ${var:1} #输出:abcda
echo ${var:1:2} #输出:ab
echo ${var/a/x} #输出:rxbcda
echo ${var//a/x} #输出:rxbcdx,但并未改变var值!
echo ${var#?a} #输出:bcda
echo ${var##?a} #输出:bcda
echo ${var%*a} #输出:rabcd
echo ${var%%?a} #输出:rabc ----------------------/
/-----------------------------------------
#特定变量参数: 其值和命令的上下文有关!
$# #传递给脚本参数的个数
$$ #脚本运行的当前进程ID号
$? #最后一个命令退出的状态变量(正常为0)
$0 #运行的脚本的名字 如 ./a.sh,值为"./a.sh";若想得到"a.sh",则需要执行`basename $0`
$1 #脚本后面跟着的第一个参数
${10} #脚本后面跟着的第10个参数---------------------------------------/
/-----------------------------------------
# 数值运算
如 echo $((2#1001)) ,输出的是"1001"对应的十进制数 "9" ---------------/
如 let a=2*3 ,输出的是 "6";加入变量 let a=${a}*2 ,输出 "12"
如 let a=2**3 ,指数运算,输出 "8"
如 a=2;echo $(($a+1)) ,输出 "3"
分享到:
相关推荐
资源名称:Linux Shell脚本学习基础视频资源目录:【】11a00d99b60c4e2eba3440b8aa3a6bdd【】linux_shell脚本编程_01认识shell,如何编写shell脚本和执行【】linux_shell脚本编程_02vivim简单的常用操作【】linux_...
Linux_shell脚本全面学习 Linux_shell脚本全面学习
shell基础学习资料,对于新手学习linux shell很有用
shell脚本学习指南-中文版shell脚本学习指南-中文版shell脚本学习指南-中文版shell脚本学习指南-中文版shell脚本学习指南-中文版shell脚本
shell编程学习资料,常见的shell编程指导,sed,awk。
shell学习日志总结shell学习日志总结shell学习日志总结shell学习日志总结shell学习日志总结shell学习日志总结shell学习日志总结shell学习日志总结shell学习日志总结shell学习日志总结shell学习日志总结shell学习日志...
shell学习01
SHELL脚本学习指南,
shell学习基本命令,可以帮助初学者快速掌握较全面的shell脚本知识
个人在shell script学习中的一些笔记,供参考
shell脚本学习指南电子书,学习shell脚本语言的经典书籍,很好的介绍了shell脚本的开发
Shell学习的好帮手Shell学习的好帮手Shell学习的好帮手Shell学习的好帮手Shell学习的好帮手
一些shell脚本的学习指南。一些典型的例子
shell1学习资料shell1学习资料shell1学习资料
shell2学习资料shell2学习资料shell2学习资料
shell基础学习资料.rarshell基础学习资料.rarshell基础学习资料.rarshell基础学习资料.rar
shell脚本学习指南,中文清晰带书签, 程序员必备.