linux——shell编程基础

编程语言有两类

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

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

变量

变量命名规则:

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

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

  

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

  作用域示例:

    本地变量

    

    环境变量:子shell也起作用

    

  变量定义示例:

    

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

   “”(双引号):弱引用,其中的变量引用会被替换为变量值

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

  变量引用示例

    

shell脚本编程

  利用系统上的命令和编程组件的面向过过程的编程。

  bash的配置文件: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/*

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

配置文件修改后生效示例

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

  首先修改.nashrc文件添加alias ech=‘echo $PATH‘

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

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

     

原文地址:https://www.cnblogs.com/wxxjianchi/p/9160293.html

时间: 2024-10-31 18:31:23

linux——shell编程基础的相关文章

Linux Shell编程基础

在学习Linux BASH Shell编程的过程中,发现由于不经常用,所以很多东西很容易忘记,所以写篇文章来记录一下 ls   显示当前路径下的文件,常用的有 -l 显示长格式  -a 显示所有包括隐藏  -R 显示文件夹内的内容  -c 按照最后一次修改时间排序  -t 按照修改时间排序输出 echo 显示  -n 不换行 touch  创建一个文件,或者修改文件的访问时间和修改时间 touch -a file 只更改访问时间 -m之更改修改实际那 -t指定特定时间 cp  复制文件 -a 保

Linux Shell编程基础---国际象棋棋盘

这两天在学习一些shell编程的知识,在做到一道国际象棋的题目时,觉得有些意思,就将它写成博客. 先来看看国际象棋棋盘长啥样: 仔细想了会棋盘的分布规则,这个问题肯定有很多思路,我自己想到的是规则是1.将棋盘行数作为一个大循环,循环8次,每次循环根据行号的奇偶来确定格子颜色的次序:2.在单个行中,循环8次并判断列的奇偶数来确定打印颜色以上思路能够打印出最简单的棋盘,但是shell中一个空格的显示形状并非正方形,而且是空格的高度大于宽度.因此需要在单个棋盘的行的打印循环外在加一层控制打印空格行数的

Linux shell编程基础笔记

1.shell变量本地变量:a=1    (等号两边不能出现空格)只读变量:readonly 变量名=变量值    (在使用过程中不能更改)声明变量:linux给变量赋值时默认是字符或字符串型,如果需要数值运算,需要事先声明declare 参数 变量名[=变量值]declare的参数: -a:数组 -i:整型 -r:只读设置整型变量,除了用declare -i声明以外,还可以:a=$(($a+1)) or a=$[a+1]清除变量:unset 变量名(只读变量无法清除)访问shell变量:set

[Linux]shell编程基础/linux基础入门

声明执行程序 #!/bin/bash 用来告诉系统使用/bin/bash 程序来执行该脚本.譬如python 脚本,可以这样写: #!/usr/bin/python 赋值和引用 赋值公式: 变量名=值 取一个变量的值的时候,需要在变量名前面加上$ 符号,譬如: var="hello bash" echo $var 如果出现拼接,而且又没有空格为分隔符,这个时候就需要使用大括号将变量括住,如: num=3 echo "this is the ${num}th" 其输出

Linux shell编程 基础正则表达式

Linux学习之二十一-shell编程基础

Shell编程基础 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言.Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务.Shell 脚本(shell script),是一种为 shell 编写的脚本程序 Shell 编程跟 java.php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了 Linux中的shell种类(shell解释器的种类

Linux shell脚本基础学习详细介绍(完整版)一

Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Linux 脚本编写基础◆1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执行该脚本,还必须使其可执行. 要使脚本可执

Linux shell脚本基础学习详细介绍(完整版)二

详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续. Linux shell脚本基础已经被分成好几个部分了,这里对控制流程的内容也就马上讲完了,这是最后一部分关于here document,这里举例稍微有点复杂,我们慢慢来分析这个复杂Linux shell脚本. 6. Here documents 当要将几行文字传递给一个命令时,here docu

shell编程基础一(多种方法求值1+2+..+100)

#SHELL编程基础一(多种方法求值1+2+..+100)##为什么要学好shell shell脚本语言是实现linux系统管理及自动化运维所必备的重要工具,linux系统的底层及基础应用软件的核心大都涉及shell脚本的内容. 每一个合格的linux系统管理员或运维工程师,都需要能够熟练地编写shell脚本语言,并能够阅读系统及各类软件附带的shell脚本内容. 只有这样才能提升运维人员的工作效率,适应日益复杂的工作环境,减少不必要的工作,从而为个人的职场发展奠定较好的基础.# 本文的宗旨是熟