Shell script 的默认变量($0, $1...) 我们知道指令可以带有选项与参数,例如 ls -la 可以察看包含隐藏文件的所有属性与权限.那么 shell script 能不能在脚本文件名后面带有参数呢?很有趣喔!举例来说,如果你想要重新启动系统登录文件的功能,可以这样做: [root@www ~]# file /etc/init.d/syslog /etc/init.d/syslog: Bourne-Again shell script text executable # 使用 f…
SHELL编程中经常会涉及到数值计算,有时候对于这些计算命令使用场景容易忘记或者混淆,这里针对常用的命令做个总结.主要包括let.bc.expr.(())等. 1.let 使用格式:let 表达式,表达式必须是完整的表达式,即等号两边.只能赋值,不支持浮点数运算,不支持直接输出 $ var= $ let var+= #var=12,中间不能有空格 $ let var=var+ #var= $ let var*= #var= $ let var/= # var= 无法计算浮点数,报错 $ var=…
$? #上一个命令执行后所回传的值,当我们执行某些命令时,这些命令都会回传一个执行后的代码.一般来说,如果成功执行该命令则会回传一个0值.如果执行过程发生错误,就会回传“错误代码” $$ #代表目前这个Shell的线程代号,即所谓的PID(Process ID) $@ #代表所有的参数 $0 #执行的脚本文件名 $1 #代表第一个输入参数,1可以是其他数字 $# #代表脚本后接的参数个数 显示变量名要使用echo,比如echo $?…
内建变量影响Bash脚本行为的变量.$BASHBash二进制程序文件的路径 bash$ echo $BASH /bin/bash$BASH_ENV该环境变量保存一个Bash启动文件路径,当启动一个脚本程序时会去读该环境变量指定的文件.$BASH_SUBSHELL一个指示子shell(subshell)等级的变量.它是Bash版本3新加入的.$BASH_VERSINFO[n]这个数组含有6个元素,指示了安装的Bash版本的信息.它和$BASH_VERSION相似,但它们还是有一些小小的不同.# B…
1. Linux的环境变量. 全局环境变量的查看 printenv 一个结果示例 XDG_SESSION_ID=354TERM=xtermSHELL=/bin/bashSSH_CLIENT=10.24.11.245 1606 22SSH_TTY=/dev/pts/0USER=rootKUBECONFIG=/etc/kubernetes/admin.confLIBVIRT_DEFAULT_URI=qemu:///systemMAIL=/var/mail/rootPATH=/usr/local/sb…
当要引用一个变量的值时,一般推荐使用双引号.使用双引号除了变量名前缀($).后引符(`)和转义符(\)外,会使shell不再解释引号中其它所有的特殊字符.用双引号时$仍被当成特殊字符,允许引用一个被双引号引起的变量("$variable"), 那也是说$variable会被它的值所代替.用双引号还能使句子不被分割开.一个参数用双引号引起来能使它被看做一个单元,这样即使参数里面包含有空白字符也不会被shell分割开了. variable1="a variable contain…
1.通过 declare 和 typeset 命令 declare 和 typeset 两者等价 declare 和 typeset 都是用来定义变量类型的 下面以 declare 进行总结 2.declare 参数如下 -r   将变量设置为只读 -i   将变量设置为整数 -a  将变量设置为数组 -F  显示此脚本前定义过的所有函数及内容 -f   仅显示此脚本前定义过的函数名 -x  将变量声明为环境变量 3.举例: 例1: 声明为不可变形式, declare -r $ var=hell…
一概述 前面19章里已经掌握了linux系统和命令行的基础知识,从本章开始继续学习shell脚本的基础知识.在大量编辑shell脚本前,先来学习下一些基本概念. 1.1    使用多个命令 Shell可以让多个命令串起来,一次执行完成,可以把它们放在同一行中,用分号隔开,如下所示: 上面就是一个简单的脚本了,用到了两个bash shell命令,但每次运行之前,都必须在命令提示符下输入整个命令.如果将命令组合成一个简单的文本文件,需要时运行这个文本文件就行了. 1.2    创建shell 脚本文…
3. 常用命令 3.1 输出 3.1.1 echo命令 echo是Shell的一个内部指令,用于在屏幕上打印出指定的字符串.命令格式: echo arg name="coding" echo '$name\"'+" ${name}" #原样输出 $name\"+ coding echo `date` #当前日期 3.1.2 printf命令 printf 命令用于格式化输出, 是echo命令的增强版.它是C语言printf()库函数的一个有限的变…
浏览器标签页的切换:Ctrl+Tab [终端]打开终端快捷建:Ctrl+Alt+t关闭终端快捷键:Ctrl+Shift+q打开新的终端标签页快捷键:Ctrl+Shift+t 关闭终端标签页快捷键:Ctrl+Shift+w终端页之间的切换快捷键:Ctrl+PgUp终止进程:Ctrl+c退出程序:Ctrl+d用火狐浏览器打开网页:firefox www.baidu.com 清屏:Ctrl + l [列目录内容ls]    ls -a:列出所有文件及目录    ls -l:长格式列表    ls -F…