linux shell编程

[toc]

bash的使用

`#!/bin/bash
要添加权限 chmod +x jia.sh

目的: 现在有时间仔细学习系统的学习linux.不能浪费这个机会

shell

shell是作为用户和linux系统间接口的程序.

管道,重定向

管道: |
重定向 < >

语法

  • 变量

    • 变量是被存储为字符串 即使是数字也是存为字符串.且区分大小写的
    • $变量名 来访问变量
    • 变量赋值 等号=两边不能有空格 字符串里面含有空格就要用双引号jia=shen jia="神 人"
  • 环境变量:

    • $HOME 当前用户的家目录
    • $PATH 目录列表
    • $PS1 命令提示符
    • $PS2 二级提示符,用来提示输入,
    • IFS 输入域分隔符
    • $0 shell脚本的名称
    • $# 传递脚本的参数数目
    • $$ 进程号
    • $1 $2 运行时加入的参数
  • 结构语句

if [ $jia = "神" ]; then
else

elif

if


for item in items
do
done

for item in jia jun long

whle [ jia = "shen" ]
do
done

case "$bianliang" in
yes) echo ;;
no) echo ;;
esac
  • #### 命令
    break continue 用于循环

.用于引入并执行其他shell 会构建一个新的shell环境

eval 对值的值进行赋值 eval jia = '$'$jun

exec 替换当前的shell 然后原来的shell脚本就不会被执行;
exit n 以当前的返回码n 退出
export : 将当前的参数导入到子shell中 用于参数传递; 相当于一个全局变量
expr : 数值运算 x=$(expr $x + 1)
printf : 格式化输出
return : 函数返回
set : 设置参数变量 可以让变量被当作参数$2 $3 这种形式调用
trap : 中断 挂起等操作

  • #### here 文档
    命令 <<!kaishi!
    #输入的东西都会执行到当前的命令里面
    其实就是给命令赋值的内容
    !kaishi!

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注