shell命令总结
来源:互联网 发布:淘宝店铺注册单危险不 编辑:程序博客网 时间:2024/05/17 08:28
while 语法读取文件每一行
while read line ;do echo $linedone < /path/file;
test命令
test命令基本等价于 []
用法示例:
if test -e ./file;then echo truefi
表达式相关
获取表达式的值 : $(())
示例:
echo $((6%3))输出 0
也可以进行赋值
$((var=6%3))echo $var输出var的值
数组相关
数组定义
arr=(`ls ./`)arr=(1 2 3 4)
数组遍历
arr=(1 2 3 4)for i in ${arr[*]};do echo $idone
if条件判断的注意事项
[]
变量与[
或者]
需要空格隔开
test命令与[]
的执行可以说基本一致,只是执行的方法 [[]]
遵循逻辑短路,[]
不遵循逻辑短路 [[]]
支持 && || > < 逻辑判断符 -a
, -o
表示逻辑
提示: []
中只能使用-a或者-o进行与逻辑判断,[[]]
支持&&操作符 []
或者[[]]
中使用问题:
1.判断条件值需要用空格与[
隔开
2.判断条件需要两个值需要与逻辑判断符用空格隔开123 == 123
,否则会一直返回true
3.if判断的用法不仅限于 [[]] 判断
if echo "$word" | grep "123"thenecho "123"elseecho "not found"fi
字符串
实现字符串的拼接
1.str=
2.str=”
获取命令的执行结果
chars=$(cat /etc/password)
chars 变量的值就是执行car /etc/password
的结果
参数替换
${parameter-default}
与${parameter:-default}
差异
asdasd=456var1=${www:-asdasd}echo var1 #输出456unset var1var1=var1=${www:asdasd}echo $var1 # 没有输出信息
当var1 声明,但是值为null时,${parameter:default}
不会输出值
赋值时需要注意
echo ${var=abc} #输出var的值为abcecho ${var=xyz}#输出var的值为abc,var的值已经赋值不会改变,也就是说对于已经赋值的变量不会改变其值
${parameter+alt_value},${parameter:+alt_value}
注意事项
1.给变量赋值时 =
两边不要存在空格,否则会当成命令进行执行
2.
4.脚本中单引号不可包含变量,双引号字符串换可以
5.多个语句写在同一行需要用 ;
进行分割
6. 中间的command可以赋值于变量,执行后的输出
7. command &> filename 重定向输出错误与标准输出
技巧
1.赋值字符串也可以不要引号
var1=123\ waterecho $var1 #123 water
补充我们也可以多行输入
echo 123\456#123456 输出一行
2.赋值ASCII码值
附录表:
文件相关
-e filename 如果filename存在则为真
-r filename 如果文件存在且可读为真
-w filename 如果文件存在且可写为真
-x filename 如果文件存在可写为真
-d filename 如果文件存在且为目录为真
-f filename 如果文件存在且为普通文件为真
字符串相关
==,!= 判断字符串相等或者不等
-z 判断字符串长度为0则为真
-n 判断字符串长度不为0则为真
全局变量 $UID
只有当值为0时,执行脚本的权限为root权限
- Shell命令总结
- shell命令总结
- Linux Shell 命令总结
- Erlang Shell命令总结
- Linux Shell命令总结
- shell命令总结
- adb shell 命令总结
- Shell命令总结
- 常用shell命令总结
- Linux Shell命令总结
- shell 命令总结
- Shell 命令总结
- shell命令总结
- Shell命令总结
- shell date命令总结
- shell命令总结
- Android shell 命令总结
- shell命令的总结:
- 常用iOS的第三方框架
- Android开发笔记(一百四十五)仿应用宝的垃圾清理动画
- iOS
- HTTP协议/RTSP协议/RTMP协议的区别
- 浅析
- shell命令总结
- iOS
- Mac与iPhone屏幕录制
- Gif图片制作
- awk统计用法实例;
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- iOS自动更新如何实现
- iOS
- Maven ResourceBundle.getBundle读取Properties异常MissingResourceException: Can't find bundlei解决方法