Linux学习笔记六-shell

变量:

[root@www ~]# name=dark

[root@www ~]# echo $name


变了设置规则:

1.“=”号两边不能有空格;

2.只能是英文和数字,不能以数字开头;

3.变量有空格可以用单引号或者双引号将内容结合起来,(单双引号必须配对,否则按下enter后还可以继续输入)

    但是双引号内到特殊字符可保持原本到特性,如: var="lang is $LANG",则 echo $var输出 lang is en_US;

name="Dark's name"     echo $name->Dark's name

    单引号内到特殊字符则仅为一般字符;上述则会输出 lang is $LANG

4.可以用转义字符“\”将特殊符号(如[Enter],$,\,空格,!等)变成一般字符;

5.在一串命令中,如果还需要通过其他的命令提供的信息,使用反单引号“  `命令`   ”或 “$命令”;

“version=$(uname -r)”再“echo $version”得到内核版本;


环境变量:

查看环境变量:env与export
查看所有变量:set(环境变量和自定义变量)

上个命令的回传码:echo $?    (如果显示是0,表示上一条命令执行成功,非0表示执行错误)

export:自定义变量转成环境变量;
[root@www ~]# export 变量名称

变量的键盘读取,数组与声明:

read
[root@www ~]# read [-pt] variable
参数:
-p:后面接提示符
-t:接等待的秒数;
例:
1.
[root@www ~]# read name
dark
[root@www ~]# echo $name
dark

2.
[root@www ~]# read -p "Please input your name: " -t 30 name
Please input your name: dark
[root@www ~]# echo $name
dark

declare
[root@www ~]# declare [-aixr] variable
参数:
-a: 将后面的变量定义为数组类型
-i:将后面的变量定义为整数数字类型
-x:将后面的变量变成环境变量
-r:将变量设置为只读类型,不可以被更改,重设

1.
[root@www ~]# declare -i sum=100+300+50
[root@www ~]# echo $sum
450
(变量的默认类型为字符串,如果num=100+300+50,直接echo $num,会输出100+300+50)

2.declare +x variable 
将环境变量变成非环境变量的自定义变量

数组
数组的设置方式:
var[index]=content

[root@Dark ~]# var[1]="nimabi"
[root@Dark ~]# var[2]="big min"
[root@Dark ~]# var[3]="hehe"
[root@Dark ~]# echo "${var[1]},${var[2]},${var[3]}"
nimabi,big min,hehe


命令别名设置:alias,unalias
[root@Dark ~]# alias lm='ls -l | more'

[root@Dark ~]# alias rm='rm -i'

查询命令别名设置:alias


去掉别名:

[root@Dark ~]# unalias lm



数据流重定向

数据流重定向就是将某个命令执行后应该要出现在屏幕上的数据传输到其他地方,例如文件或者是设备。

>或>>


例1.

[root@Dark ~]# ll / > /root/Desktop/hehe

[root@Dark ~]# cat /root/Desktop/hehe

例1将“ll /”显示的结果输出到hehe文件中,如果hehe文件不存在则创建并写入,如果存在则覆盖文件内容;


将多个文件内容输入到一个文件:

[root@Dark ~]# cat termcap* >> termcapback


1>  :正确数据覆盖
1>>:正确数据追加

2> : 错误数据覆盖
2>>:错误数据追加

将输出分别写入不同文件

[root@Dark ~]# find /home -name .bashrc > list_right 2> list_error


将命令的数据全部写入到list文件中

[root@Dark ~]# find /home -name .bashrc >list 2>&1
[root@Dark ~]# find /home -name .bashrc &> list



<或<<

将原本需要由键盘输入的数据改由文件内容来替代。
例:

[root@Dark ~]# cat > hehe

#输入你要输入的内容,按ctrl + d 离开

[root@Dark ~]# cat hehe

你输入的内容


例2:

[root@Dark ~]# cat > hehe < ~/.bashrc

将~/.bashrc中的内容输入到hehe中


例3:

[root@Dark ~]# cat > hehe << eof

>hellow

>byebye.

>eof

当输入eof时结束输入

[root@Dark ~]# cat hehe

hellow

byebye.


例4:

写脚本时:


#!/bin/sh

cat > 写入文件名 << EOF

要写入的文件内容...

EOF


或者


#!/bin/sh

cat << EOF > 写入文件名

要写入的文件内容...

EOF


命令执行的判断依据

[root@Dark ~]# ls /tmp/abc && touch /tmp/adc/hehe

[root@Dark ~]# sync; shutdown -h now

[root@Dark ~]# cmd1 || cmd2 (如果cmd1执行成功,cmd2不执行;如果cmd1执行错误,cmd2执行)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值