shell脚本编程
来源:互联网 发布:淘宝洋垃圾服装 编辑:程序博客网 时间:2024/06/01 08:09
1.脚本:指一种不经过编译而直接被解释和执行的程序,如JavaScript脚本。
2.shell脚本:一种以shell脚本语言编写并通过shell来解释和执行的程序,本质上还是一种文本文件。
3.shell:一种解释器,解释shell脚本,对shell脚本进行解释并执行shell脚本;Linux的外壳。Linux默认的shell:bash
Linux内核:kernel。
4.每个字符终端都有一个bash进程负责处理用户输入的命令。
编辑:
#!/bin/bash # 用于告诉系统指出,执行的shell脚本所用的shell类型,是bash echo 'shell' #test.sh echo "PID:$$" # $$:执行当前脚本的进程的进程号(PID)。
执行:
. test.sh或source test.sh #包含,引用 #bash进程不创建子进程,直接调用.sh脚本并执行脚本。 sudo chmod 777 ./test.sh ./test.sh或bash test.sh #bash作为父进程,创建子进程用来执行脚本.sh。
${PATH}:系统环境变量${HOME}:用户家目录 ${SHELL}:当前系统使用的shell类型 ${PSI}:命令提示符${HOSTNAME}:主机名称 ${MAIL}:邮件存放路径 ${LOGNAME}:登录用户名${USER}:当前用户账号名称 printenv:与当前进程相关的所有全局环境变量。 $0:当前脚本名称$n(n=1,2,……):命令行第几个参数 $#:参数总个数 $*:保存所有参数信息$?:前一个 命令或函数的 返回值。 $$:当前脚本进程号。 export 变量名:如,export x。让某个局部环境变量输出成为全局环境变量。 1)在字符终端下,利用export命令输出一个变量成为全局环境变量后,如果通过使用"./脚本名.sh"或者“bash 脚本名.sh”的方式来执行脚本,那么bash进程为脚本所创建的子进程就可使用该全局环境变量,然而子进程对全局环境变量的修改并不会影响父进程bash中的对应变量的值。 2)如果是以“. 脚本名.sh”或者“source 脚本名.sh”的方式来执行脚本,由于bash进程并没有创建额外的子进程去执行脚本,因此脚本对全局环境变量的修改实际就是对bash进程中对应变量的值的改变。 expr处理字符串、数值计算;bc功能更强大的处理数值计算。 expr substr 【字符串】 【起始位置(数字从1开始)】 截取长度:如,expr substr linuxShell 2 4 expr index 【字符串】 要定位的字符(字母):字符串定位。如,expr index "linuxShell" Shell expr match [字符串1】 【字符串2】:从“字符串1”开始位置跟“字符串2”匹配比较,匹配成功返回字符串2的长度。不匹配否则返回值是0。 expr length 【字符串】:expr length linuxShell #10 echo varValue=$[ 10 + 100 ] #110,数值计算 ``反引号 :如,echo `date`在字符终端命令行显示当前时间。shell把反引号内的字符串当做shell命令进行执行。 who :当前登录用户信息。 which:查看shell命令所在路径。如,which who $HOME:用户家目录 【添加自定义目录到系统环境变量$PATH】: 在字符终端命令行,$PATH=$PATH:需添加的自定义目录路径 #如,$PATH=$PATH:/home/linux 修改命令行提示符: cp ~/.bash_profile ~./bash_profileBackup #备份 `PSI="$LOGNAME@$HOSTNAME:$PWD>" #用户名@主机名:路径> ` >> ~/.bash_profile `export PATH PSI` >> ~/.bash_profile basicCalculator=`echo "scale=4;100/2" | bc ` echo ${basicCalculator} echo "scale=4;100/2" | bc
补充:
其他资料:【环境变量与文件查找】
阅读全文
0 0
- Shell脚本编程-脚本格式
- SHELL脚本编程
- shell脚本编程
- Shell脚本编程-变量
- Shell脚本编程-引用
- SHELL 脚本编程
- linux脚本(shell)编程
- Shell脚本编程基础
- Shell脚本编程基础
- linux脚本(shell)编程
- shell 脚本编程常识
- Shell的脚本编程
- Shell脚本编程剖析
- Shell脚本编程详解
- Shell 脚本编程
- Shell脚本编程详解
- shell脚本编程
- shell 脚本编程
- javascript深入理解js闭包
- WWDC 2017 Session笔记
- 51nod 1799 思维 二分 数论 分块打表
- POJ--3259--spfa spfa写法
- pig入门
- shell脚本编程
- centos 安装 redis3.0.0 集群
- UNION-FIND算法
- Android Studio中使用git
- python yeild浅析
- Sql Server 修改表所属用户
- WWDC 2016 Session笔记
- LeetCode学习之-225. 利用队列实现堆栈(Implement Stack using Queues)
- [tomcat] java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor 解决