拿最简单的hello word
举例shell
.#!/bin/bash echo 'hello world'
方法一
(推荐使用)vim
chmod 777 myshell.sh #给文件权限 ./myshell.sh #运行文件
方法2
bash
sh myshell.sh
单行注释 #内容 多行注释 :<<! 内容 !
基本语法命令行
1.定义变量:变量名=变量值 2.撤销变量:unset 变量名 3.声明静态变量:readonly 变量名 #静态变量不能unset 将命令执行结果返回变量 1.A=`ls -la` 反引号 2.A=$(ls -la) 等价于反引号 系统变量: $PATH $HOME $PWD $SHELL $USER
基本语法设计
export 变量名=变量值 将shell变量输出给环境变量 source 配置文件名称 让修改后的配置信息当即生效 echo $变量值 查看环境变量的值 举例 vim a.sh export a = 111 :wq source a.sh echo $a 111
主要是给shell脚本传参数
code
$n (功能描述:n 为数字,$0 表明命令自己,$1-$9 表明第一到第九个参数,十以上的参数,十以上的参数须要用大括号包含,如${10}) $* (功能描述:这个变量表明命令行中全部的参数,$*把全部的参数当作一个总体) $@ (功能描述:这个变量也表明命令行中全部的参数,不过$@把每一个参数区分对待) $#(功能描述:这个变量表明命令行中全部参数的个数)
举例进程
a.sh脚本里面的内容for循环
#!/bin/bash echo $2 #展现第二个参数 echo $* #这个总体 echo $@ #这个分开for循环中才有提现 echo $# #传参的个数
执行
class
[root@ywy ~]# sh a.sh 1 2 3 a.sh: line 1: .#!/bin/bash: No such file or directory 2 1 2 3 1 2 3 3
就是shell设计者事先已经定义好的变量,能够直接在shell脚本中使用
后台
$$ (功能描述:当前进程的进程号(PID)) $! (功能描述:后台运行的最后一个进程的进程号(PID)) $? (功能描述:最后一次执行的命令的返回状态。若是这个变量的值为 0,证实上一个命令正确执行;若是这个变量的值为非 0(具体是哪一个数,由命令本身来决定),则证实上一个命令执行失败)
运算表达式
1.$((运算式)) #$((1+1)) 不要有空格 2.$[运算式] #$[1+1] 不要有空格 上面两种运算符号都是普通的不要\注释掉 这种比较特别 3.`expr m + n` #`expr 1 + 1` 运算符之间必需要有空格 + #加 - #减 / #除 % #取余 \* #乘 \( \) #括号