shell学习记录---2-2

来源:互联网 发布:捏脸的软件 编辑:程序博客网 时间:2024/05/02 05:03

代码:

#!/bin/bash#myshell3echo "这是脚本的名称:$0"echo "这是脚本的第1个参数:$1"echo "这是脚本的第2个参数:$2"echo "这是脚本的第3个参数:$3"echo "这是脚本的第4个参数:$4"echo "这是脚本的第5个参数:$5"echo "这是脚本的第6个参数:$6"echo "这是脚本的第7个参数:$7"echo "这是脚本的第8个参数:$8"echo "这是脚本的第9个参数:$9"echo "显示参数个数:$#"echo "显示脚本全部参数: $*"echo "显示进程ID: $$"echo "显示前一个命令运行后状态: $?"

[root@localhost Exercise]# ./myshell3 1 2 3这是脚本的名称:./myshell3这是脚本的第1个参数:1这是脚本的第2个参数:2这是脚本的第3个参数:3这是脚本的第4个参数:这是脚本的第5个参数:这是脚本的第6个参数:这是脚本的第7个参数:这是脚本的第8个参数:这是脚本的第9个参数:显示参数个数:3显示脚本全部参数: 1 2 3显示进程ID: 5341显示前一个命令运行后状态: 0



shift用于移动调整位置变量,shift [ n ]

当 n为0  不移动

n 为空默认n为1

当 n不为0时候  移动参数2+n-1到参数1  移动参数3+n-1到参数2

#!/bin/bash#myshell4echo "这是脚本的名称:$0"echo "这是脚本的第1个参数:$1"echo "这是脚本的第2个参数:$2"echo "这是脚本的第3个参数:$3"echo "这是脚本的第4个参数:$4"echo "这是脚本的第5个参数:$5"echo "这是脚本的第6个参数:$6"echo "这是脚本的第7个参数:$7"echo "这是脚本的第8个参数:$8"echo "这是脚本的第9个参数:$9"shift 2 echo "这是参数: $1"echo "这是参数: $2"

[root@localhost Exercise]# ./myshell4 1  2  3 4 5这是脚本的名称:./myshell4这是脚本的第1个参数:1这是脚本的第2个参数:2这是脚本的第3个参数:3这是脚本的第4个参数:4这是脚本的第5个参数:5这是脚本的第6个参数:这是脚本的第7个参数:这是脚本的第8个参数:这是脚本的第9个参数:这是参数: 3这是参数: 4
用echo  * 获得目录下所有的文件名称:
[root@localhost Exercise]# lsmyfile.c  myfirstshell  myshell2.sh  myshell3  myshell4[root@localhost Exercise]# echo  *myfile.c myfirstshell myshell2.sh myshell3 myshell4

echo itlab 两边的两点是ESC键下的点,即是反引号.

[root@localhost Exercise]# echo -e "ert ,$SHELL '\n*' china`echo itlab`"ert ,/bin/bash '*' chinaitlab
单引号里面的值直接打印 不管里面的符号,
[root@localhost Exercise]# echo -e 'ert ,$SHELL '\n*' china`echo itlab`'ert ,$SHELL n* china`echo itlab`

··················反引号中的字符作为命令来执行.

[root@localhost Exercise]# echo `echo ca`ca


[root@localhost Exercise]# echo *myfile.c myfirstshell myshell2.sh myshell3 myshell4[root@localhost Exercise]# echo \**[root@localhost Exercise]# 



[root@localhost /]# echo $[2+3]5[root@localhost /]# echo $[2>>2]0[root@localhost /]# echo $[2>>1]1[root@localhost /]# echo $[2<<2]8[root@localhost /]#

let:

[root@localhost /]# var=5[root@localhost /]# let var++[root@localhost /]# echo varvar[root@localhost /]# echo $var6[root@localhost /]# 


[root@localhost /]# echo $[2#1010+1]11[root@localhost /]# echo $[10#9+1]10[root@localhost /]# 


数字越大 级别越高:

[root@localhost /]# echo $[ 1&2+3]1[root@localhost /]# echo $[ (1&2)+3]3

说明+比&级别高.


原创粉丝点击