shell

馋奶兔 提交于 2019-12-23 19:31:41

简介

shell 是一个命令解释器 作为操作系统和应用程序之间的解释翻译命令的工具

shell有很多种 

window 上的shell 是cmd.exe

linux上有 sh /csh /ksh /bash

 

查看

查看当前系统的shell类型

echo $SHELL

查看当前系统环境支持的shell

cat /etc/shells

使用

手工方式:逐行输入命令按回车执行

脚本方式:把命令写到一个脚本文件中 然后执行脚本 达到效果

#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。

#!/bin/bash
echo 'hello world'

#单行注释

:<<!

这里是多行注释 !可以换成其他字符

!

执行方式

第一种(推荐使用)
/bin/bash  /home/user/xxx.sh
bash路径   脚本绝对路径  

第二种
./xx.sh
当前路径下执行

第三种
. xx.sh
前面直接 加.

书写规范

1.脚本命名要有一样 后缀是.sh (虽然可以不用后缀)

2.文件首行必须是指定脚本解释器

3.解释器后面必须要有脚本的基本信息 注释中不用中文 因为切换系统后可能会导致乱码

4.内容执行顺序 从上到下 依次执行

5.成对内容一次性写出 防止遗漏 如:() {} [] '' ""

变量

运行shell时,会同时存在三种变量:

  • 1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。

  定义变量(等于号两旁不能有空格)

  无引号 字符中没有特殊字符

  单引号 可以包含特殊字符

  双引号 中可以包含其他变量 可以含有转义字符

  • 2) 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。

  env   显示全局变量

  定义  export 变量=值

  • 3) shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

  $0      获取当前执行的shell脚本文件名,包括脚本路径

  $n    获取当前执行的shell脚本的第n个参数值,n=1..9,当n为0时表示脚本的文件名,如果n大于9就要用大 括号括起来${10}

  $#      获取当前shell命令行中参数的总个数

  $?      获取执行上一个指令的返回值(0为成功,非0为失败)

 

查看变量

1. $变量名

2.${变量名}

删除变量

unset 变量名

将命令的结果赋值给变量:1、variable=`command`,容易与''搞混,可在多种shell使用。

                                           2、variable=$(command),只能在bash shell中使用。

只读变量:readonly

删除变量:unset,不能删除只读变量

 

字符串截取

${变量名:起始位置:截取长度}

 

测试语句

两种测试方法

1. test 条件表达式

2.[ 条件表达式 ]         条件表达式和 [ ] 之间必须要有空格

条件成立 状态返回值为0 不成立则返回1

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!