Shell编程基础

本文介绍了Linux Shell的基础知识,包括Shell概述、基本语法、变量、系统及自定义变量、运算符、流程控制结构如if、while、case和for,以及数组和函数的使用。适合初学者了解和学习。
摘要由CSDN通过智能技术生成
  1. Linux shell简介
    1. Shell概述
Shell是linux的 命令语言 程序设计语言 ,shell是linux 外壳 ,linux内核,通过外壳协议,来操作内核。在 cat/etc/shells 目录下。

    1. Shell基本格式
vi helloworld.sh ##代码写在普通文本中,通常以.sh结尾
#!/bin/bash ##表示用Shell解析器的类型
echo "hello world" ##注释也可以写在这里

    1. Shell执行方式
sh方式或者bash方式
sh helloworld.sh
bash helloworld.sh
source方式或者 . 方式
使Shell程序文件并依次执行文件中所有语句
. helloworld.sh ##注意 . 和脚本之间是有空格的
source helloworld.sh
直接执行该脚本文件
执行之前需要更改文件的执行权限
./helloworld.sh ##相对路径方式
/home/linux/helloworld.sh ##绝对路径方式

    1. Shell注释
单行注释:
#
多行注释:
:<<!
内容
!


  1. Shell基本语法
    1. 变量
    1. 系统变量
$PWD $SHELL $USERE $HOME

    1. 自定义变量
变量=值 ##等号两侧不能有空格,变量名称一般习惯大写
$变量名 ##使用变量
PS:
引号在引用变量时的区别:
如果是单引号,则引号当中的任何东西都当做字符串 ,即特殊字符会被脱意
如果是双引号, 那么$ABC 能打印出变量的值
总结:
单引号:
1、单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的
2、单引号字串中不能出现单引号(对单引号使用转义符后也不行)
双引号:
1、双引号里可以有变量
2、双引号里可以出现转义字符
unset 变量名 ##撤销变量
readonly 变量名='值' ##静态变量,只读,不能撤销
export A="A in a.sh"
##export关键字,意味着把变量提升为shell进程中的全局环境变量可供其他的shell子程序使用

总结:
1 、a.sh中直接调用 b.sh,会让 b.sh 在A所在的 bash进程的“子进程”空间中执行
2 、而子进程空间只能访问父进程中用 export 定义的变量
3 、一个 shell进程无法将自己定义的变量提升到父进程空间中去
4 、source 或者 “. ”号执行脚本时,会让脚本在调用者所在的 shell进程空间中执行

反引号赋值
a=`ls -l /root/bin` ##反引号,运行里面的命令,并把结果返回给变量a
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值