for linux shell 菜鸟_Linux shell 菜鸟学习笔记....

这篇博客介绍了Linux shell的基础知识,包括变量定义与使用、循环结构(for和while)、文件操作如重定向及数组概念。还讲解了条件判断、函数定义以及常见的shell命令如echo和printf的使用。此外,提到了shell中常见的错误陷阱和如何避免它们。
摘要由CSDN通过智能技术生成

20171123 Linux shell 基础学习笔记

1. shell 的开始

一般是 #!/bin/bash 通过 #! 来唯一指定使用的shell路径

其他的 # 都表示注释.

2. shell 的变量

定义变量直接用 variablename= value 就可以 其中变量名与等号之间没有空格.

使用变量的时候 是 ${vairablename} 的方式进行使用 大括号可以有可以没有,但是建议有.

可以使用

for file in `ls /etc/` 的方式来循环取得文件名.

使用do done 的方式来进行循环处理.

#!/bin/bash

for file in `ls /etc`;do

echo ${file}

done

3. 可将变量设置为 只读变量 readonly variablename

unset 可以删除变量.

4. shell变成的参数部分

$1 表示第一个参数 $# 表示参数的个数 $$ 表示当前进程的ID $? 表示退出时是否有异常等.

5. shell 里面数组的概念:

shell 里面数组 用 () 来表示

arrayname=(A B C D )

注意事项: arrayname 等号 以及 括号中间不能有空格.

数组的下标从0 开始

{arrayname[@]} 或者 * 可以遍历出所有的数组元素

{#arrayname[*]} 可以返回数组的元素个数.

6. shell中的运算方法.

bash 中不支持运算 需要通过awk 或者expr 等方式来进行

val=`expr 2 + 2`

echo $val

注意乘法需要增加反斜线\* 来进行表示

使用的是反引号进行表示 而不是 单引号.

7. 比较方法

$a -eq $b 这种方式进行.

-eq -ne -ge -le -gt -lt

布尔运算符

! 非运算 -o 或运算 -a 与运算

逻辑运算符

&& 逻辑and || 逻辑或

文件测试运算符

-b 是否是块设备

-c 是否是字符设备

-d 是否是目录

-f 是否是普通文件

-r 文件是否可读

-w 文件是否可写

-x 文件是否可执行

-s 文件是否为空

-e 文件是否存在

8. shell 编写时容易出错的地方:

if 用[] 来表示bool预算部分

其中 -e 什么的需要有空格区别

if 和面先增加 then 最后增加fi 不能缺少.

9. echo 命令.

echo 用于字符串输出

echo "" 或者不加双引号 显示字符串

echo -e "" 内内容 进行转义

echo '' 原样输出不获取变量不进行转义

echo `date` 显示命令执行结果

echo > filename 将结果定位到文件

echo >>filename 增加到文件的最后一行

read something 将读入的数据作为变量something的value

10. printf的部分内容.

比echo 最大的好处是能够格式化输出字符串.

printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg

转义字符 使用反斜线.

11. shell 中的流程控制::::::::::::::::::::::::::::::::::::::::::

1)

if [ -e $filename]

then

echo # do something

elif [ ]

then

do something

else

do something

fi

2) for 循环

for some in many

do

do something

done

3) while 循坏

while (())

do

let i++ # for example

done

4) until 循坏

util (())

do

done

跳出循环使用 break

继续循环 使用 continue

12.shell 中的函数

function func()

或者是 func() 进行命令

可以有return语句 在执行完 function 之后通过 $? 来获取返回值.

调用函数时与python

不一样不需要增加() 记住以下.

13.

命令说明

command > file将输出重定向到 file。

command < file将输入重定向到 file。

command >> file将输出以追加的方式重定向到 file。

n > file将文件描述符为 n 的文件重定向到 file。

n >> file将文件描述符为 n 的文件以追加的方式重定向到 file。

n >& m将输出文件 m 和 n 合并。

n

<< tag将开始标记 tag 和结束标记 tag 之间的内容作为输入。

14. 文件包含

source 或者是 直接点过来.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值