Linux shell脚本编程入门 (一)

来源:互联网 发布:static nodes.json 编辑:程序博客网 时间:2024/05/18 07:58

环境变量


一些命令

shell脚本中经常出现各种环境变量,因此要写脚本,必须先来了解环境变量.常见的处理环境变量的命令,列举在下面

  • set 用来显示本地变量
  • env 用来显示环境变量
  • export 用来显示和设置环境变量
  • source 后面跟一个文件,可以直接执行文件里的脚本命令并更新

常见的环境变量

  • 位置参数

相当于C语言中, main函数的argv数组, 这里用 $num 表示,其中 num 是指代一个数字. 见下面的程序实例

# foot.sh#!/bin/shecho "#0 $0"echo "#1 $1"echo "#2 $2"echo "#3 $3"echo "#4 $4"echo "#5 $5"echo "#10 ${10}"# 注意这里的花括号

  • 列举一些变量

列举一些常见的变量, 可以通过 echo 直接查看

PWD当前路径, bash 的 pwd 命令即是输出该路径OLDPWD前一个目录PATHshell的命令路径HOME用户的家目录SHELL当前的shellUSER用户名UID用户 id 可以参考 /etc/passwdPPID创建当前进程的进程号,即父进程号PS1提示符变量

引用

一般字符串可以不用引号,加了引号(单引号或者双引号,都是为了屏蔽特殊字符的特殊意义,如星号等)

"1 is $1"双引号引用除了美元符号($)  反引号(``) 反斜杠( \ )的字符串,可以输出单引号'1 is $1'单引号单引号里面的字符串会原样输出,包括双引号,但是不能输出单引号varA=`pwd`反引号讲反引号里面的内容解释为 shell 命令注: ${pwd} 和 `pwd` 的意思是一样的, 返回的结果是一个字符串,而且会删除换行符


比较

把表达式放在中括号里,如 ["$num1" -eq 20]   条件满足就返回 0

比较运算符

-eqeuqal==-gegreater or equal>=-gtgreater>-leless or equal<=-ltless than<-nenot equal!=


文件操作符

-d filedirectory是否为 目录-e fileexist是否 存在-f filefile是否为 普通文件-r filereadable是否 可读-s file 文件长度是否不为零-w filewritable是否 可写-x fileexecutive是否 可执行-L filelinkable是否 是符号化链接


逻辑运算符

!expression逻辑非expression1 -a expression2逻辑与 andexpression1 -o expression2逻辑或 or


0 0
原创粉丝点击