• shell变量


    一.shell介绍

    shell是一个命令解释器,它位于用户和内核之间,将用户输入的指令解释给内核执行;/bin/bash和/bin/sh是最常用的解释器

    二.变量的命令规则

    1.只能包含数字,字母,下划线

    2.数字不能开头

    3.区分大小写

    三.变量的定义

    第一种方式

    变量名=变量值,注意等号等号=两边不能有空格,否则shell会将变量名当初命令执行而报"command not found"的错误

    [root@localhost mysql]# name=xiaoming
    [root@localhost mysql]# echo $name
    xiaoming
    [root@localhost mysql]# name = hehe
    -bash: name: command not found

    第二种方式

    通过read交互让用户输入并付赋值给一个变量名

    read命令的常用选项:

    -p "提示信息" 提示信息,可以用来提示用户需要输入什么信息

    -s 隐藏用户的输入内容,比如输入密码时可以隐藏

    -t n n秒后会自动回车,所以用户需要在n秒内输入完成

    -n num 用户最多可以输入num个字符

    第三种方式

    变量名=$(命令)或变量名=`命令`,将命令的执行结果赋值给变量

    四.变量的类型

    局部变量:只在当前终端有效,就是直接在命令行上定义

    环境变量:export 变量名=变量值;只在当前进程及其子进程有效

    全局环境变量:在/etc/profile配置文件中最后加上export 变量名=变量值,保存后退出,使用source /etc/profile使配置有效

    系统变量:

    $0 当前的进程名

    $1,$2.. 传给脚本的参数顺序

    $$ 当前的进程ID

    $!当前系统运行的最后一个进程的进程ID号

    $? 上一条命令的运行结果,0表示执行成功,非0表示执行失败

    $# 参数的个数

    $@/$* 所有的参数值

    $*是以"$1 $2 … $n"的形式输出所有参数

    $@是以"$1" "$2" … "$n" 的形式输出所有参数

    系统变量可以在shell脚本中直接使用

    五.变量的取消

    unset 变量名

  • 相关阅读:
    mysql基础
    EM算法总结
    机器学习之PCA(1)
    C语言socket编程<二>
    计算机网络·实验一:
    机器学习之GMM-EM
    C语言socket编程<一>socket之Winsock API
    【翻译】java-TCP-socket网络编程2
    【翻译】java-TCP-socket网络编程1
    【翻译】Java IO 关系总览和整理
  • 原文地址:https://www.cnblogs.com/golinux/p/10830249.html
Copyright © 2020-2023  润新知