博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bash shell script 简明教程
阅读量:6415 次
发布时间:2019-06-23

本文共 1651 字,大约阅读时间需要 5 分钟。

  hot3.png

User <--> bash <--> kernel

shell is not kernel or part of kernel
various shells: tcsh, csh, bash, ksh
find the using shell: echo $SHELL
find all the shells: cat /etc/shells
what's a shell script?
constants are as in any common programming languages.
variables consist of user defined ones and system defined ones.
system variables are always in CAPITAL letters and using 'set' will list most of system variables
user defined variables: same as ones in the C language
use $ symbol before varible name to access.
output: echo
input: read
basic arithmetic: expr
quotable quotes: " ' `
multiple commands: cmd1;cmd2;...
io redirection: > >> <
pipes: |
process: each process owns a "pid" which ranges form 0~65535
command line arguments  symbols: $#, $*, $@, $0, $1,...,$9
comparision symbols:
   mathemetical operators: -eq -ne -lt -le -gt -ge
   string operators: = != < >
   file/directory operators: -s -f -d -r -w -x
   logical operators: ! -a -o
condition statement: if <condition> then cmd [elif/else cmd...] fi
loops: while <condition> do cmd done
       for x in list do cmd done
 

  • $# :传给脚本的参数个数;
  • $0 :脚本名称;
  • $n :n为数字,代表传给脚本的第n个参数;
  • $@ :参数列表;
  • $* :也是显示参数列表,与上一条命令不同的是,当在双引号里面时,”$*”表示一个参数,即”a b c”,而”$@”表示三个参数,即”a” “b” “c”;
  • $$ :执行当前脚本的进程ID;
  • $? :最后一条命令的退出状态,0表示执行成功,非0表示执行失败.

示例: 建立一个脚本test.sh

echo "number:$#"echo "scname:$0"echo "first :$1"echo "second:$2"echo "third :$3"echo "fourth:$4"echo "argume:$@"echo "show parm list:$*"echo "show process id:$$"echo "show precomm stat: $?"

执行脚本,传入参数a b c:

number:3scname:bash_brief.shfirst:asecond:bthird:cfourth:argume:a b cshow param list:a b cshow process id:30238show precomm stat: 0

 

转载于:https://my.oschina.net/mskk/blog/1835057

你可能感兴趣的文章
上云利器,K8S应用编排设计器之快到极致
查看>>
袋鼠云服务案例系列 | 从DB2到MySQL,某传统金融平台的互联网转型之路
查看>>
RealServer配置脚本
查看>>
九月份技术指标 华为交换机的简单配置
查看>>
马哥linux作业--第八周
查看>>
dubbo01
查看>>
python 写json格式字符串到文件
查看>>
分布式文件系统MogileFS
查看>>
电力线通信载波模块
查看>>
linux vim详解
查看>>
Java23种设计模式案例:策略模式(strategy)
查看>>
XML解析之DOM4J
查看>>
图解微服务架构演进
查看>>
SQL PATINDEX 详解
查看>>
一些常用的网络命令
查看>>
CSP -- 运营商内容劫持(广告)的终结者
查看>>
DIV+CSS命名规范有助于SEO
查看>>
js生成二维码
查看>>
C指针练习
查看>>
web项目buildPath与lib的区别
查看>>