1.静态语言:编译型语言 强类型(变量)
事先转换成可执行格式 也就是先编译在执行
比如 C++、C、 java C#

动态语言:解释性语言 弱类型
边解释边执行
比如PHP shell python perl
2.变量类型:
事先确定数据的库存格式和长度
字符
数值:整型 浮点型
单引号是强引用 不做变量替换的
双引号是弱引用 内部的变量会替换
反引号( ``或是$(命令) )表示引用命令的执行结果
a="ab h"
echo ${#a}
4
上边两条命令会显示变量的长度(包括空格)

3 bash变量类型
环境变量:echo $PATH
本地变量:
位置变量:$1、$2、$3、$4、$5
特殊变量:$? 这代表上一个命令的执行状态返回值。
一个程序执可能有两类返回值:
<1>程序执行结果
<2>程序状态返回代码(0-255)
0:正确执行 1-255:错误执行1、2、127系统预留。
用法:在一个命令执行完之后用echo $?命令 如果显示0说明当前的命令执行成功
如果显示2说明是权限拒绝
如果显示1-125说明运行失败
如果显示127为找到运行的命令

4.撤销变量: unset 变量名

5.查看当前shell中变量: 用set命令

6.查看当前shell中的环境变量:<1>printenv <2> env <3>export<4>set(它能列出全局和非全局的变量) 都可以

7.特殊变量:$#:参数的个数 $*:表示参数的所有内容。(将命令行所有的参数视为单个字符串。等 同于“$1$2$3”)
$@:表示参数的所有内容。(将命令行所有的参数视为单独的字符串。 等同于“$1”“$2”“$3”,这时将参数传递给其他程序的最好方 式,因为他会保留所有内嵌在每个参数里的任何空格)用的时候 要加双引号"$@".
set -- 参数1 参数2 参数3这个可以模拟出位置参数
例子:
set -- 参数1 参数2 参数3这个可以模拟出位置参数
for i in "$@" ; do
echo $i
done

8.全局变量的文件在:/etc/profile. 修改完之后又两种办法生效:<1>用. /etc/profile <2> source /etc/profile

9.设置全局变量
export 变量名称=变量值 他可已将这个变量变成全局变量
declare -x 也可以
declare -i 变量=值 //变量默认的为字符串,想要让一个变量为整型可以声明,这表是将一个变量声明为整型

在/etc/profile中尽量要遵循这种标准的格式

例子:系统自带的环境变量
echo $HOSTTYPE 查看系统是多少位的操作系统
echo $PATH 查看当前的环境变量
echo $SHELL 查看系统默认使用的shell
cat /etc/shells 查看系统支持哪些shell
echo $UID 查看当前用户的UID
echo $HISTSIZE
chsh 用户名 可以改变用户的shell平台。

10.局部变量赋值
<1>变量名=变量值 例子:a=1

<2>read 命令(可以与用户产生交互,就是可以用这个命令写一段提示语句)

格式:read 变量1 变量2 //可以是1个或是多个变量然后输入变量值
read -p “提示语” 变量名 例子:read -p “请输入数字:” a
read -n 表示不换行
read -t 数值 表示等待超时间,就是等待用户输入的时间
11.cat << END END表示文档结束标记.它写成什么都行,只要结尾一致就行
用户手动输入内容
END
它可以等待用户输入内容

cat << END > 文件名
用户手动输入内容
END
//用户手动输入的内容输入到文件里

Shelll1-基础入门之变量的更多相关文章

  1. (大数据工程师学习路径)第一步 Linux 基础入门----环境变量与文件查找

    环境变量与文件查找 本节介绍环境变量的作用与用法,及几种搜索文件的方法.学会这些技巧高效地使用 Linux. 一.环境变量 1.变量 要解释环境变量,得先明白变量是什么,准确的说应该是 Shell 变 ...

  2. Linux基础入门-环境变量与文件查找

    一.环境变量: Shell中的变量也有不同的数据类型,不用专门指定类型名,可以参与运算,有作用域限制. declare tmp 创建一个变量 可以不用专门声明,可以即用即创建 tmp=shiyanlo ...

  3. python基础入门之一 —— 变量与运算符

    1.标识符 由数字,字母,下划线组成 不能由数字开头 不能使用内置关键字 严格区分大小 2.数据类型 数值:int (整型) float(浮点型) 布尔型:True(真) False(假) str ( ...

  4. 【JAVA零基础入门系列】Day4 变量与常量

    这一篇主要讲解Java中的变量,什么是变量,变量的作用以及如何声明,使用变量. 那么什么是变量?对于初学者而言,可以将变量理解为盒子,这些盒子可以用来存放数据,不同类型的数据需要放在对应类型的盒子里. ...

  5. 020 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 14 变量与常量 知识总结

    020 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 14 变量与常量 知识总结 本文知识点:变量与常量 知识总结 Java中的标识符 Java中的关键字 目前常 ...

  6. 019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例

    019 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 13 数据类型转换的代码示例 本文知识点:Java中的数据类型转换案例 学习视频有误,导致没法写文,文章内容 ...

  7. 018 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 12 数据类型转换的基本概念

    018 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 12 数据类型转换的基本概念 本文知识点:Java中的数据类型转换 类型转换 类型转换分类 2类,分别是: ...

  8. 017 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 11 变量综合案例

    017 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 11 变量综合案例 本文知识点:变量 相同类型的变量可以一次同时定义多个 例:可以一行代码同时定义2个变量x ...

  9. 016 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 10 布尔类型和字符串的字面值

    016 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 10 布尔类型和字符串的字面值 本文知识点:字面值 关于字面值的概念,需要注意:很多地方,我们可能就把字面值 ...

  10. 015 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 09 Unicode编码

    015 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 09 Unicode编码 本文知识点:Unicode编码以及字符如何表示? ASCII码是美国提出的标准信息 ...

随机推荐

  1. virtualBox 系统移植

    把virtualbox已经存在的系统移植到其他机器. 1.把系统如下文件考到一个安装了virtualbox的机器. 2.点击控制-->注册 然后浏览到复制的文件路径. 3.修改uuid 不管是l ...

  2. 【C/C++】从矩阵左上角走到右下角

    tx的笔试,但是只过了10%,就离谱 #include <bits/stdc++.h> using namespace std; const int maxn = 1010; long d ...

  3. B树和B+树原理图文解析

    B树与B+树不同的地方在于插入是从底向上进行(当然查找与二叉树相同,都是从上往下) 二者都通常用于数据库和操作系统的文件系统中,非关系型数据库索引如mongoDB用的B树,大部分关系型数据库索引使用的 ...

  4. 为什么Redis集群有16384个槽

    一.前言 我在<那些年用过的Redis集群架构(含面试解析)>一文里提到过,现在redis集群架构,redis cluster用的会比较多. 如下图所示 对于客户端请求的key,根据公式H ...

  5. Linux入侵 反弹shell

    目录 一.简介 二.命令 三.NetCat 一.简介 黑入服务器很少会是通过账号密码的方式进入,因为这很难破解密码和很多服务器都做了限制白名单. 大多是通过上传脚本文件,然后执行脚本开启一个端口,通过 ...

  6. HTTP隧道解决的问题

    转自别人的文章:https://blog.csdn.net/gogzf/article/details/78385506 客户端通常会用 Web 代理服务器代表它们来访问 Web 服务器.比如,很多公 ...

  7. epx中设置断掉调试

    以前总听师傅们说,做pwn题,多调试,多调试. 师傅都说用gdb,但是我刚接触linux程序调试的时候用的是pwndbg,后来就用顺手了.但是调试一些简单程序还好,直接用pwndbg打开.但是这年头简 ...

  8. python selenium 多账户自动登入163邮箱

    pycharm一些快捷键: ' ctrl ' +' / ' :注释 ' Tab ' :同时缩进 ' shift ' +' Tab ' :左移 一次缩进 本文webinfo.txt路径:C:\Pytho ...

  9. CF658A Bear and Reverse Radewoosh 题解

    Content 一场比赛有 \(n\) 道题目,其中第 \(i\) 道题目的分值为 \(p_i\),需要花费的时间为 \(t_i\).需要说明的是,\(t_i\) 越大,这道题目的难度越大.在第 \( ...

  10. centos7使用Dockerfile运行mysql库并初始化数据

    Dockerfile文件(文件名一定要这个) FROM mysql:5.7 WORKDIR /docker-entrypoint-initdb.d ENV LANG=C.UTF-8 ADD test. ...