`

[笔记]linux shell基础编程笔记

 
阅读更多

使用的环境是

fedora 18

由于是初学者有错误无法及时发现,欢迎指正.

 

 

内容很简单 

就是基本的变量的使用 基本的语句和函数的基本创建使用

 

 

2013/09/15

shell-->命令解析器 将用户输入的指令转换成相应的机器能够运行的程序

shell脚本

 

shell的第一行是(不过在fedora下测试..不加也没关系)

#!/bin/sh

#! 指定脚本文件的解析程序

增加运行

chmod +x filename
[cc@localhost shell_dir]$ ls /bin/sh -l
lrwxrwxrwx. 1 root root 4 1月  10 2013 /bin/sh -> bash

以#表示注释

 

 

变量:

不需要声明

a="hello world"
#输出a
echo "A is:"
echo $a

赋值不要$号 但要引用的时候需要加$

在字符串中使用时用{}括起来

echo "this is the ${a}nd"

 

 

默认变量:

  • $#:传入脚本的命令行参数个数
  • $*:传入的所有参数 中间用空格相隔 
  • $1:第一个命令行参数
  • $2:第二个命令行参数

 

 

2013/09/16

局部变量:

在shell中 变量首次被赋值时加上local关键字可以声明一个局部变量

hello="var1"
echo $hello

function func1(){
  #与全局冲突时使用local(不过最好都写吧 避免混淆)
  local hello="var2"
  echo $hello
}
func1
echo $hello

输出:

var1

var2

var1

 

变量赋值:

=(赋值号)左右两边不能有空格

BASH语句不需要分号

 

 

If语句:

 if [ expression ] 

   then

    #code block

 fi

 

 if [ expression ] 

    then

#code block

else

#code block

  fi

  

a=1
b=1
if [ $a = $b ]  #注意在[]和=留空
 then
  echo "${a}=${b}"
fi

 

 以下都要在其左右留空格

 比较操作 整数 字符串

   相同    -eq   =

   不同    -ne  !=

   大于    -gt   >

   小于    -lt   <

  大于等于 -ge

  小于等于 -le

   为空          -Z

   不为空        -n

-e 判断文件是否存在

-f 文件是普通文件

-s 文件大小不为零

-d 文件是一个目录

-r 文件对当前用户可以读取

-w 文件对当前用户可以写入

-x 文件对当前用户可以执行

用[  ]表示判断

 

例子:

folder=/cc
[ -r "${folder}" ] && echo "${folder} 可读"  #&&表示前面是真的就后面就运行
[ -f "${folder}" ] || echo "${folder}不是文件" #||表示哦前面的不是真就执行后面的

以上这两个其实就是短路操作 &&是短路与 当前面的是假的后面的就不用运行了

                           ||是短路或 当前面的是真的后面的不用运行了

 

for语句:

for var in [list]

 do

   #code block

 done   

例子:

for day in Sun Mon Tue Wed Thu Fri Sat
do
 echo $day
done

 

 

while循环:

while [ condition ]

do

 #code block

done

 

例子:

read count
echo "cout=${count}"
a=1
add=0
while [ $a -le $count ]
do
 add=`expr ${add} + ${a}`
 a=$(($a+1))
done
echo "add=${add}"

注意了 要进行数学运行 要用`expr 1 + 1`(注意+左右的空格) 或者使用$((算数表达式)) 这样+左右没必要留空

 

 

util循环:

util [ condition ]

do 

  #code block

done

和while循环相反 condition为假时执行

 

Case语句:

case "$var" in  #var可以是字符串 整数等等 限制比较小

  condition1 )

    ;;

  condition2 )

    ;;

  * ) statments;;

esac #和case相反的写法

例子:

echo 输入一个字符
read key
case "$key" in
 [A-Z] ) echo "输入的是大写字母";;
 [a-z] ) echo "输入的是小写字母";;
 [0-9] ) echo "输入的是数字";;
     * ) echo "输入的是其他字符";;
esac

 

  

  

函数:

要先定义 再被调用

bash中创建一个函数:

 fname(){

   

 }

 或者

 function fname(){

 

 }

 使用函数时:

 fname param1 param2 param3 ... 在函数内部视为位置参数处理

 没参数 就直接用 fname

 例子如下:

 echo_all(){
 for i   #i读取参数列表的第一个
   do
    echo "$i"
    shift #左移操作 以下的参数 左移一位则1被消去 但实际中发现这句即使不写也可以
   done
}

echo_all  1 2 3 4 5 6 7 8 9 10

 

以上输出 

1

2

3

4

5

6

7

8

9

10

还有种方式:

echo_all(){
 for i in $*
   do
    echo "$i"
   done
}

echo_all  1 2 3 4 5 6 7 8 9 10

 

 

0
2
分享到:
评论

相关推荐

    Linux零基础学习笔记 Shell编程-菜鸟入门(超详细)

    Linux是开源的操作系统,它的命令行界面,尤其是Shell编程...因此,无论你是技术小白还是希望进一步提升,这份“Linux零基础学习笔记 Shell编程-菜鸟入门”都会是你宝贵的资源。祝你在学习的道路上越走越远,不断进步!

    Linux Shell编程笔记

    描述:这是一份综合的Linux Shell编程笔记,适用于想要学习或加强对Linux操作系统下Shell脚本编程的理解的人。该笔记包含了Shell脚本的基础知识、常用命令和技巧,以及实际的编程示例和案例。无论您是初学者还是有...

    老男孩Linux shell 高级编程

    要介绍了shell的相关知识教程,如shell编程需要的基础知识储备、shell脚本概念介绍及第一个脚本案例、shell脚本基础知识-作用地位-比其他语言优势、建立一个规范的shell脚本、执行shell脚本的多种方法及重要区别精讲...

    《LINUX与UNIX SHELL编程指南》读书笔记

    《LINUX与UNIX SHELL编程指南》是一本深入探讨Linux和UNIX系统中Shell脚本编程技术的书籍。这本书旨在帮助读者理解和掌握Shell编程的核心概念,从而能够编写出高效、实用的自动化脚本,提高日常系统管理和任务执行的...

    shell编程教程.chm

    awk基础入门(4) ...Linux的shell编程(一) Linux的shell编程(二) Linux的shell编程(三) Linux的shell编程(四) Shell学习笔记 一 Shell学习笔记 二 Shell学习笔记 三 Shell学习笔记 四 Shell学习笔记 五

    linux与unix shell编程指南读书笔记.rar

    Linux与Unix Shell编程指南读书笔记提供了深入理解和熟练掌握Shell脚本编写技巧的宝贵资源。Shell是Linux和Unix操作系统中的命令解释器,它不仅用于交互式地执行命令,还能编写自动化任务的脚本,极大地提高了系统...

    LINUX与UNIX_Shell编程指南V1.0_学习笔记.docx

    这份学习笔记将深入探讨Shell编程的基础,包括文件权限与安全,这是理解Linux和Unix系统管理的关键。 首先,我们关注文件权限。在Linux和Unix中,每个文件和目录都有三个基本的权限:读(r)、写(w)和执行(x)。...

    linuxshell脚本学习笔记.pdf

    Linux Shell 脚本学习笔记是学习 Linux Shell 编程的重要资源,本笔记涵盖了 Linux Shell 编程的基础知识和高级技术,涵盖了命令提示符、变量、重定向、管道、环境变量、数学计算、退出脚本、结构化命令等多个方面。...

    linux 基础编程所用的命令和shell入门到精通笔记

    自己看完了linux入门到精通的笔记整理,还有一些linux大部分所有常用的命令笔记,可以值得看看!

    shell script编程学习笔记

    ### Shell Script 编程学习笔记 #### 一、Shell 脚本初窥 ##### 示例: ```bash #!/bin/sh # 第1行:指定脚本解释器(声明使用的shell名称),这里是用/bin/sh做解释器的。“#!”是一个约定的标记 cd ~ # 第2行:...

    Linux服务器Shell编程学习笔记linux操作系统 电脑资料.docx

    Linux服务器Shell编程是IT行业中非常基础且重要的技能,尤其对于系统管理员和自动化工程师而言。Shell脚本编程允许用户创建自定义的命令行工具,实现自动化任务处理,提高工作效率。在这个学习笔记中,我们将深入...

    《LINUX与UNIX SHELL编程指南》读书笔记 crack.pdf

    ### 《LINUX与UNIX SHELL编程指南》读书笔记知识点解析 #### 一、文件的安全与权限 在《LINUX与UNIX SHELL编程指南》这本书中,作者详细介绍了Linux及Unix系统中关于文件的安全性和权限管理的核心概念。这部分内容...

    《LINUX与UNIX SHELL编程指南》读书笔记.pdf

    根据提供的文件信息,我们可以从中提炼出一系列与Linux...理解这些基础知识对于进行有效的文件管理和Shell脚本编程至关重要。此外,作者张启峰还提供了具体的示例代码和实践案例,有助于读者更好地理解和应用所学知识。

    linux shell个人学习笔记,绝对极品

    总的来说,这份“Linux Shell个人学习笔记”涵盖了从基础命令到高级脚本编程的广泛内容,适合想要提升Linux操作技能或准备系统管理员考试的读者。通过深入学习和实践,你可以成为一个熟练的Linux用户,甚至成为一名...

    学习笔记-基础Shell编程

    ### 学习笔记-基础Shell编程 #### 一、Shell编程概述 Shell编程是指利用Shell命令语言编写脚本来实现特定功能的过程。Shell不仅是Linux操作系统下的命令行解释器,还是一种强大的脚本语言,广泛应用于自动化任务...

    自学习,Linux命令行与Shell脚本编程笔记!word版本

    这篇“自学习,Linux命令行与Shell脚本编程笔记”旨在帮助初学者掌握这两个核心技能。 首先,Linux命令行是操作系统与用户交互的主要方式之一,通过输入简单的指令,用户可以执行各种任务,如文件管理、系统监控、...

    unix shell编程第三版笔记

    "Unix Shell编程第三版笔记"是铁道出版社出版的一本教材,它深入浅出地讲解了Unix Shell编程的基础和高级技巧。这份笔记涵盖了从基本的命令行操作到复杂的脚本编写,帮助学习者掌握这一强大的自动化工具。 Unix ...

    linux运维学习笔记:Shell脚本书写规范.pdf

    Linux运维学习笔记:Shell脚本书写规范 Shell脚本是Linux系统中一种极为重要的工具,它能够帮助用户执行批量的命令操作,自动化日常运维任务。编写规范、易于理解的Shell脚本不仅有助于提高工作效率,而且方便日后...

    LINUX与UNIX SHELL编程指南 读书笔记

    1. **Shell基础**:包括Shell的启动、基本命令行操作、文件和目录管理、环境变量设置等。 2. **Shell语法**:涉及命令行参数、条件表达式、循环结构(如for、while)、函数定义以及流程控制(如if-else、case)。 ...

Global site tag (gtag.js) - Google Analytics