编程语言有两类

  强类型:如C语言。数据具有其特定的类型,先声明定义后才能使用。数据运算时必须符合类型要求(如不能把字符串类型数据直接与整型数据做算数运算)

  弱类型:如shell。数据默认为字符型,不用事先声明。数据运算时会自动转换数据类型。

1、变量

  变量命名规则

  变量类型

  变量引用

1.1、变量命名规则:

  •   变量由字母、数字、下划线组成。
  •   不能由数字开头

1.2、变量类型:本地变量、环境变量、局部变量、特殊变量(内置)、参数变量、只读变量。

  

  注意如果变量没有定义在shell的配置文件,那么他的生命周期只是当前shell进程,一退出就失效。

  作用域示例:

    本地变量:可以看到再次打开一个bash时使用echo $test并不会输出s1。所以本地变量的作用域为当前shell。

    

    环境变量:子shell也起作用

    

  变量定义示例:

    

1.3、变量引用(对上表的补充):

   “变量名”(双引号):弱引用,其中的变量引用会被替换为变量值
   '变量名'(单引号) :强引用,其中的变量引用不会被替换为变量值,而保持原字符串
  变量引用示例
    
 

2、shell脚本编程:利用系统上的命令和编程组件的面向过程的编程。

2.1bash的配置文件:profile类和bashrc类

    profile类:为交互式登录的shell提供配置

    bashrc类:为非交互式登录的shell提供配置  

      

      交互式:通过终端输入用户名和密码登录后打来shell

          通过su - USERNAME或su -l USERNAME登录后打开的shell

        配置文件读取顺序:/etc/profile-->/etc/profile.d/*-->~/.bash_profile-->/etc/bashrc

      非交互式:通过su USERNAME执行的登录

           GUI图形界面下打开的终端

           运行脚本文件中打开的shell

        配置文件读取顺序:~/.bashec-->/etc/bashrc--->/etc/profile.d/*

      总结:两者的区别可以简单的说成是——是否需要输入密码。

2.2配置文件修改后生效示例

  注意,修改配置文件不会立即生效可以使用.(英文点号)或者source来强制重读配置文件,使得修改立刻生效

  首先修改.bashrc文件添加alias ech='echo $PATH'

  使用alias并没有打印出我们刚添加的命令别名,使用ech直接报错

  使用source FILE_NAME重读配置文件后使用alias命令,可以看到我们新添加的ech。

shell编程其他文章请点击下边链接

 
 

     

linux shell编程之变量和bash配置文件(第一篇)的更多相关文章

  1. Linux Shell编程、变量、控制语句

    为什么要学习Shell编程 1)Linux运维工程师在进行服务器集群管理时,需要编写Shell程序来进行服务器管理. 2)对于JavaEE和Python程序员来说,工作的需要,你的老大会要求你编写一些 ...

  2. Linux —— Shell编程之变量赋值和引用

    Linux的shell编程是一种非常成熟的编程语言,它支持各种类型的变量.有三种主要的变量类型:环境变量.内部变量和用户变量. 环境变量(environment variable)是系统环境的一部分, ...

  3. Linux学习——shell编程之变量

    shell编程之变量:Linux shell编程基础中的变量. 包括Bash变量的分类和各变量的详细使用,如:用户自定义变量.环境变量.语系变量.位置参数变量和预定义变量. 1:什么是Bash变量? ...

  4. linux —— shell 编程(文本处理)

    导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 基本文本处理 流编辑器sed aw ...

  5. linux —— shell 编程(编程语法)

    导读 本文为博文linux —— shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 再识变量 函数 条件语句 循环语句 ...

  6. linux shell编程总结

    linux shell编程总结 本周学习了unix/linux shell编程,参考的是<LINUX与UNIX Shell 编程指南>,David Tansley著:徐焱,张春萌等译,由机 ...

  7. 【shell编程基础0】bash shell编程的基本配置

    前面一篇“shell编程之变量篇”主要讲述下shell编程的变量的基本知识:设置变量的方式,自定义变量和环境变量的差别,变量的替换.删除.测试等. 这一篇主要是讲述在bash shell下的一些基本配 ...

  8. Linux Shell编程参考大全

    本文记录Linux Shell编程中常用基本知识,方便快速入门以及查询使用. 本文主要分为以下几个部分: 一.Shell中的变量 任何编程语言中,有关变量的定义,作用范围,赋值等都是最最基础的知识. ...

  9. linux shell 编程参考

    #!/bin/bash my_fun() { echo "$#" } echo 'the number of parameter in "$@" is '$(m ...

随机推荐

  1. SpringCloud之Hystrix断路器(六)

    整合Hystrix order-service pom.xml         <dependency> <groupId>org.springframework.cloud& ...

  2. Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException 异常

    Caused by: org.springframework.context.annotation.ConflictingBeanDefinitionException 报此异常是应为有相同的bean ...

  3. 【xinsir】分享一个查找文件的脚手架

    program.command('find <name>').action(name => { if (name) { inquirer .prompt([ { type: 'inp ...

  4. 微软的分布式应用框架 Dapr Helloworld

    Dapr HelloWorld Dapr Distributed Application Runtime. An event-driven, portable runtime for building ...

  5. post方式实现导出/下载文件

    项目需求: 前端需要传入过多的参数给后端,get地址栏不行,只能接受post方式去导出数据 1.get的下载方式 通常下载方式如下: let url = xxxx.action?a=xx&b= ...

  6. 20190723_C中的调用可变函数

    今天联系了 C 中调用可变参函数 参考网站:https://www.runoob.com/cprogramming/c-standard-library-stdarg-h.html 代码1: 向被调用 ...

  7. 2019.11.11 洛谷月赛t3

    题目背景 由于Y校的老师非常毒瘤,要求\(zhouwc\)在\(csp\)考前最后\(3\)天参加期中考,\(zhouwc\)非常生气,决定消极考试,以涂完卡但全错为目标.现在\(retcarizy\ ...

  8. 【vue】在VS Code中调试Jest单元测试

    在VS Code中调试Jest单元测试 添加调试任务 打开 vscode launch.json 文件,在 configurations 内加入下面代码 "configurations&qu ...

  9. javascript 字符串转化成函数执行

    javascript 字符串转化成函数执行<pre>function func_abc(){ alert('a');}var str = "func_abc";eval ...

  10. 比较器中的comparing方法以及涉及到的知识

    今天在学习Java核心技术集合程序清单9-3时遇到了问题. 代码如下 public class TreeSetTest { public static void main(String[] args) ...