2018年第一次笔记 LINUX的shell入门
2018-01-24 21:52
253 查看
Shell:内部核心与外部使用者联系的介质!
Shell:解释型语言
Shell Script <==> DOS 批处理
#!/bin/sh 开头路径
#!/bin/sh date pwd
Shell 一般要先给可执行权限,或使用内部命令source
和 sh
执行
Shell 变量
常用的系统变量及其含义
$#: 保存程序命令数 $0: 当前程序名 $*: 以("$1 $2…")形式保存所有输入的命令行参数 $@: 以("$1" "$2"…)形式保存所有输入的命令行参数 $n:$n为命令行的第n个参数
例子:
echo "the No. of parameter is $#"; echo "the script name is $0"; echo "the parameters in the script are $*"; echo "the parameters in the script are $3";
注意:
1. 参数中间一定要有空格
2. Shell参数和C语言参数的一个区别是shell不把文件名作为参数,而c语言参数把文件名当作第一个参数
Shell的环境变量
Shell环境变量时所有Shell程序都会接受的参数。Shell程序运行时,都会接收一组变量,这组变量就是环境变量,常用的Shell变量有:PATH:Shell寻找程序或命令的目录 HOME:当前用户主目录的完全路径 HISTSIZE:历史记录数 LOGNAME:当前用户的登陆名 HOSTNAME:主机名称 Shell:Shell路径名 LANGUGE:语言相关的环境变量,多语言可以修改此环境变量 MAIL:当前用户的邮件存放目录 PWD:当前工作目录的绝对路径 显示变量 #echo $HOME 设置变量 #expert WELCOME = "HE" //只改变当前的环境变量 查看所有变量 #env 查看本地变量 #set 删除变量 #unset 查询变量 #env|grep WELCOME //管道的使用 或者 #set|grep WELCOME
用户变量
几个特殊功能
变量扩张
${var}
字符串截断功能
分为左截断和右截断* 任意n个字符 ? 任意一个字符
//左截断的例子 $ MYVAR=foodforthought.jpg $ echo ${MYVAR##*fo} //##最长匹配 rthought.jpg $ echo ${MYVAR#*fo} //#最短匹配 odforthought.jpg //右截断的例子 $ MYVAR="chickensoup.tar.gz" $ echo ${MYVAR%%.*} //最长截断 chickensoup $ echo ${MYVAR%.*} //最短截断 chickensoup.tar
流程控制
if语句
if [-e ./test.sh] //这里条件的写法其实更难!!! then echo "..........." else echo ",,,,,,,,,,," fi
case语句
#!/bin/sh Test=test.tar.gz case "${Test##*.}"in gz) tar -xzvf $Test ;; bz2) tar -xjvf $Test ;; *) echo "formar error" ;; esac
循环语句
#!/bin/sh Mynum=0 while [ $Mynum -ne 10 ] do echo $Mynum Mynum=$(($Mynum + 1)) done
#!/bin/sh for x in 1 2 3 do echo $x done #!/bin/sh for x in ./t* do echo $x done
相关文章推荐
- Linux 基础入门第一次实验笔记
- Linux学习笔记(8)之Shell编程入门--输入输出、引号
- Linux命令(shell)从入门到精通 学习笔记之1:文件安全与权限
- shell脚本入门笔记
- 【Linux】Shell学习笔记之一——安装配制
- Linux bash shell脚本语法入门(转)
- 一篇非常好的linux学习笔记分享 (Linux入门绝佳)2
- Spark修炼之道(基础篇)——Linux大数据开发基础:第十四节:Shell编程入门(六)
- Linux学习笔记--yum命令(Shell前端软件包管理器)
- Linux的入门笔记1
- Linux系统命令及Shell脚本学习笔记五:字符处理
- 【Linux学习笔记】17:Linux中的Shell概述
- Linux-Ubuntu入门笔记
- linux二周第一次课(1月29日)笔记
- Linux笔记——shell补充:参数传递&函数等
- Linux入门笔记之一:系统分区及挂载点
- 【linux学习笔记】bash学习之login shell与non-login shell(source命令)
- linux 程序设计笔记 第二章 shell
- Linux入门笔记——type、switch、help、man、apropos、whatis、info
- Shell脚本编程学习入门 01 分类: arm-linux-Ubuntu 2013-08-30 17:42 409人阅读 评论(0) 收藏