linux shell笔记

1.shell参数

$ chmod+x test.sh 为脚本设置可执行权限

$n 拿到参数

参数个数为:$#

传递的参数作为一个字符串显示:$*(假设在脚本运行时写了三个参数 1、2、3,,则 " * " 等价于 "1 2 3"(传递了一个参数),而 "@" 等价于 "1" "2" "3"(传递了三个参数)。)

2.shell数组

定义my_array=(A B"C"D)

读取${array_name[index]}

数组的元素为: ${my_array[*]}

数组的元素为: ${my_array[@]}

数组元素个数为: ${#my_array[*]}

数组元素个数为: ${#my_array[@]}

3.表达式

`expr 2 + 2`

两点注意:表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样。完整的表达式要被 ` ` 包含,注意这个字符不是常用的单引号,在 Esc 键下边。

乘号(*)前边必须加反斜杠(\)才能实现乘法运算;

条件表达式要放在方括号之间,并且要有空格,例如:[$a==$b]是错误的,必须写成[ $a == $b ]

在 MAC 中 shell 的 expr 语法是:$((表达式)),此处表达式中的 "*" 不需要转义符号 "\" 。

-eq 等于 -nq 不等于  -gt 大于 -lt 小于 -ge 大于等于 -le 小于等于

! 非 -o 或 -a 与

&& and || or

字符串运算符:= 相等 != 不等 -z 长度为0 -n 不为0 str 为空

文件测试运算符

4.echo命令

5.printf format-string [arguments...]

%-10s 指一个宽度为10个字符(-表示左对齐,没有则表示右对齐),任何字符都会被显示在10个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。

%-4.2f 指格式化为小数,其中.2指保留2位小数。

6.test 命令

7.流程控制

条件:

if condition1

then command1

elif condition2

then command2

else commandN

fi

循环:

for var in items

do commands

done

while循环:

while condition

do command

done

until循环

until condition

do command

done

case 值 in

模式1) 

command1

;;

模式2)

command1

;;

esac

break命令 跳出整个循环

continue 跳出当前循环

8.函数

9./dev/null2>&1不输出

10.文件包含 

. filename

source filename

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第1章 小试牛刀 $ 是普通用户,# 表示管理员用户 root。 shebang:#!。sharp / hash ...
    巴喬書摘阅读 6,443评论 1 4
  • Shell是核心程序(kernel)之外的指令解析器,是一个程序,同时是一种命令语言和程序设计语言。 查看所有的s...
    738bc070cd74阅读 464评论 1 4
  • 参加了很多次丧葬礼的聚会餐。然而在众多的此类聚会中,有一个特别的经历让我很难忘! 葬礼毕,按习俗参加了亡者家属为到...
    以琳阅读 69评论 0 0
  • 写这篇文章前我可能要发发牢骚了,说实话我有点不喜欢现在大学的制度和大学生的心态,还有大学生的一些行为,感觉和以...
    22668a5b47ee阅读 404评论 4 4
  • 班级情况: 校区:科学创想乐高机器人沈河校区 时间:周六10:30——11:30 学员:赵一维,袁渊浩,张子濠 任...
    A越单纯越幸福阅读 411评论 0 0