电商专业学习linux第二天

第一天的学习就遇到了我最为头疼的内容--二进制和十进制

作为一个纯文科出身的我最头疼的就是数字,就是运算,即便他们说那是简单的,在我看来还是难,不知道什么时候能够不再为此头疼,肯定需要找个时间来补一下这方面的知识的。

今天老师讲的主要是运算命令和控制命令,还留了几道作业,当时就懵逼了,不知如何下手,到现在为止我的能力仅限于照着别人敲好的代码再敲一遍,让我自己写是写不出的,就相当于没有自己的思路,不知道怎么开始,老师讲的也很直接的说了,要是做不了就把白天的内容复习一遍,待会过一遍今天的内容再看一下能否做作业或者能够做到什么程度吧。

老师接着昨天的命令给我们继续讲的:

8>echo命令的注意点

1)-e:代表开启转义,让他认识转义字符

2)转义字符

\c:是一个转义字符,原先是换行,加了之后可以不换行

\n:是一个换行转义字符

\t:是一个转义字符,相当于tab键

3)echo后面叫"",'',不加

'':不能达到取值的效果,不推荐使用

"":上面的缺陷都可以避免

4)如果使用sh xx.sh运行的方式,不需要开启转义,echo "hello\tword"

如果./xx.sh运行,需要开启转义,echo -e

9>字符串的相关操作

1)字符串长度计算

示例代码:

1 string=“hello”

2 length=${#string}

3 echo "${length}"

2)字符串的拼接

5 string1=“word”

6 string3=“${string} ${string1}”

7 echo "${string3}"

3)字符串的截取

10 string4="nihao"

11 string5=${string4:2:3}

12 echo "${string5}"

10>

%d:是一个占位符,是替整数类型的数据所占的位置

%c:是一个占位符,是替单个字母所占的位置

%f:是一个占位符,是替小数类型的数据所占的位置

%s:是一个占位符,是替字符串占的位置

%md

%mc

%ms

%m.nf

如果m<=n+1+整数的实际数的位数,m没有意义,相当于没写

如果m>n+1+整数的实际数的位数,左边用空格补全,默认是右对齐,如果想左对齐,加-:%-m.nf

注意点:任何数据类型都可以使用%s输出,但是字符串类型不能使用%d,%f,%c输出

11,整数运算

算数运算:+    -     \*    /     %     ++    ——

简单案例

1 num1=1

2 num2=2

3 num3=`expr ${num1}+${num2}`

4 echo "${num3}"

后缀++

先赋值,后进行自加1

num1=4

let num2=num1++

echo "num1=${num1},num2=${num2}"

结果:num1=5,num2=4

后缀--

先赋值,后进行自减1

num1=4

let num2=num1--

echo "num1=${num1},num2=${num2}"

结果:num1=3,num2=4

前缀++

先进行自加1,后赋值

num1=4

let num2=++num1

echo "num1=${num1},{num2}=${num2}"

结果:num1=5,num2=5

前缀--

先进行自减1,后赋值

num1=4

let num2=--num1

echo "num1=${num1},num2=${num2}"

结果:num1=3,num2=3

如果上面的expr不好用,可以用$(())

关系运算

\>  \<  \>=  \<=  \=  =  \!=  !=  ==  \==

关系运算产生结果是一个逻辑结果,逻辑结果有1和0

0代表这个逻辑错误的,1代表是这个逻辑是正确的

逻辑运算符

&&:事件1 并且 事件2

如果事件1 并且 事件2成立,整个事件才成立;否则整个事件就不成立

代码示例:

1 read num

2

3 #if [ `expr ${num} % 3` == 0 ]&&[ `expr ${num} % 5` == 0 ]

4 if [[ `expr ${num} % 3` == 0 && `expr ${num} % 5` == 0 ]]

5 then

6       echo "3,5的倍数"

7 else

8       echo "就不是3,5的倍数"

9 fi

||:事件1 或 事件2

只要有一个事件成立,整个事件就成立

3 #if [ `expr ${num} % 3` == 0 ]||[ `expr ${num} % 5` == 0 ]

4 if [[ `expr ${num} % 3` == 0 || `expr ${num} % 5` == 0 ]]

字符串运算符

=、!=、

-z $str:判断字符串是否存在,或者字符串是否都为空格

$str:判断字符串不为空

1)示例代码

1 string="123"

2 string1="123"

3 if [ ${string} != ${string1} ]

4 then

5      echo "不相等"

6 else

7      echo "相等"

8 fi

2)示例代码

1 string=" "

2 if [ -z ${string} ]

3 then

4      echo "为空"

5 else

6      echo "非空"

7 fi

8

9 string1="xxx"

10 if [ $string1 ]

11 then

12      echo "非空"

13 else 

14      echo "为空"

15 fi

文件运算符

-e:exist判断文件是否存在

-d:directory判断文件是否是目录文件

-f:file判断一个文件是否是普通文件

-r:read判断当前文件是否有读取权限

-w:write判断文件是否有写入权限

-x:判断文件是否有可执行权限

1)代码示例

1 if [ -f ~/practice1 ]

2 then

3       echo "是目录"

4 else

5       echo "不是"

6 fi

2)示例代码

8 if [ -x ./19.sh ]

9 then

10     echo "有执行权限"

11 else

12       echo "没有"

13 fi

12``和${}的作用:取出结果集,可以是命令的结果集,还可以是运算的结果

13、let关键字

1 num1=1

2 num2=2

3 let num3=num1+num2

4 echo "${num3}"

13,输入一个变量

实例代码

read num

printf "${num}"

注意点:输入多个值的时候,尽量使用

read num

read num1

14,三大流程控制

1>顺序流程控制

2>条件流程控制

1)

if [ 条件 ]

then

语句体

fi

2)

if [ 条件 ]

then

语句体

else

语句体

fi

3)

if [ 条件 ]

then

语句体

elif
then

语句体

elif
then

语句体

else

语句

fi

注意点:

1)[]左右两边都要有空格

2)else可以没有,也可以有,但是必须放在最后面

>:gt

>=:-ge

<:-lt

<=:-le

==:-eq

!=:-ne

g:grater

t:than

l:less

e:equal

eq:equal

n:not

case语句:

case变量 in

值1)

语句体

;;

值2)

语句体

;;

值3)

语句体

;;

值*)

语句体

;;

esac

注意点:*)可以没有,如果有必须写在最后面,*)代表通配任何内容的值

/*

输入两个整数,再输入一个运算符,根据运算符的不同对两个数进行计算,输出运算结果,用case语句实现

*/

3>循环流程控制

while [ 条件 ]

do

语句体

done

练习:

1)求1~100的偶数和,输出

晚上作业:

1>写一个命令求阶乘或是求和,比如说命令运行:

./xx.sh 6! 如果是这样运行就执行阶乘6x5x4x3x2x1

./xx.sh 6+ 如果是这样运行就执行阶乘6+5+4+3+2+1

./xx.sh -s 6

./xx.sh -f 6

./xx.sh -sf 6

2>打印菱形,用while

                  *
                 ***
               ******
             *********
               ******
                 ***
                   *


3>使用while循环打印如图所示的直角三角形

*
**
***
****
*****
******

4>

1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
······
1x9=9 2x9=18 3x9=27 4x9=36 ······9x9=81

5>创建当天的文件夹

myfile -y ~/practice/2017/

myfile -m ~/practice/2017/01

myfile -d ~/practice/2017/01/0104

~/practice/2017/01/0104  #年份文件/月份文件/当天日期的文件夹

拿到年:date +%Y

拿到月:date +%m

拿到日:date +%d

15、环境变量

$#:指的是shell命令参数的个数,不算命令本身

$0:代表命令本身

$1:代表命令第一个参数值

$2:代表命令第二个参数值

···

$n:代表命令第n个参数值

如果n>=10,必须要用${n}去取值

怎么自己写一个解析xx.sh文件的脚本

思路:
1>判断执行哪个文件

2>参数不能太多

3>判断该文件是否存在

4>判断是否是普通文件

5>判断该文件是否是以.sh结尾的文件

6>chmod +x xx.sh

7>./xx.sh

8>将这个命令全局有效

如果 账号密码不为空

把信息发信给服务器
否则
提示不能为空

老师一天讲了那么多,还没开始消化呢,又布置那么多作业,扫了一眼作业发现无从下手,只能默默整理笔记了,希望老师明天能够带着我们完成这些作业

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,835评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,598评论 1 295
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,569评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,159评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,533评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,710评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,923评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,674评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,421评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,622评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,115评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,428评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,114评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,097评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,875评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,753评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,649评论 2 271

推荐阅读更多精彩内容

  • 0.linux启动的步骤 设备加电----》BIOS自检-----》grub引导启动-----》加载内核----》...
    萌面大叔2阅读 740评论 0 1
  • shell脚本语句 运算符符 运算符的使用+ - * /1. expr是计算整数类型行的数据2. 运算符左右都要有...
    I踏雪寻梅阅读 330评论 0 2
  • Linux Linux可以做什么 个人桌面系统管理桌面听音乐,看视频使用文字处理,电子表格等文件使用网页,发送电子...
    I踏雪寻梅阅读 454评论 4 5
  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 4,533评论 0 11
  • 基础命令 主要的命令和快捷键 Linux系统命令由三部分组成:cmd + [options]+[operation...
    485b1aca799e阅读 1,016评论 0 0