shell -- 变量

shell脚本中变量的种类及定义方法

环境变量:环境变量只在当前shell中生效,shell关闭变量丢失
   export A=1
用户变量:写在用户的骨文件中,值针对当前用户生效
vim ~/bash_profile
 {
   export B=1
 }
系统级变量:被写在系统的配置文件 /etc/profile 或者 /etc/profile.d 中,对于所有用户都生效
 vim /etc/profile
 {
   exprot C=1
 }

字符的转译及变量的声明

\      转译单个字符
""     弱引用,批量转译""中出现的字符
''     强引用,批量转译''中出现的字符
'' 与""  两者的区别在于,""不能转译 " \", "`", "!","$"
${}    声明变量

变量值传递

$1    脚本后的第一串字符串
$2    脚本后的第二串字符串
$3    脚本后的第三串字符串
$#    脚本后所跟字符串的个数
$*    脚本后跟的所有字符串,模式为“1 2 3”
$@    脚本后跟的所有字符串,模式为“1” “2” “3”

read实现变量传递

read   WESTOS
read -p "Please input Username: " NAME   
read -p "Please input Username: " -s PASSWD  #-s 不显示
  

liunx系统中命令别名的设定

环境级:
alias xie='vim'

用户级:
vim ~/.bashrc
{
alias xie='vim'
}

系统级:
vim /etc/bashrc
{
alias xie='vim'
}

unalias xie   #取消别名设定时须删除系统以及用户中的设定

利用命令执行结果设定变量

Time=`date`
Hostname=$(hostname)
$?
$? 是命令在执行完成之后产生的退出值范围是[0-255]
当 $=0 时表示用命令执行没有错误输出
这个值可以用 exit 命令执行
例如 exit 66

脚本中的函数

脚本中的函数是把一个复杂的语块定义成一个字符串的方法
例1:

vim f.sh
{
#!/bin/bash
WESTOS()
{
   echo -e "\033[31m$*\033[0m"
}
GREEN()
{
   echo -e "\033[32m$*\033[0m"
}

GREEN  westos
WESTOS "hello westos"
}

例2:

vim f1.sh
{
#!/bin/bash
READ()
   {
    read -p "Please input word: " WORD
     [ "$WORD" = "exit" ] &&{
              echo bye
              exit 0
     }
     echo $WORD
     READ
}
READ
}

例3:

vim f2.sh
{
#!/bin/bash
CREATE()
{
        read -p "Please input Username: " NAME

        [ "$NAME" = "exit" ] && {
                echo Bye~
                exit 0
        }

        useradd $NAME &> /dev/null &&{
                read -p "Please input Password:" -s PASSWD
                echo $PASSWD | passwd --stdin $NAME &> /dev/null
                echo ""
                echo -e "\033[32m$NAME is created successfully !!\033[0m"
        } || {
                echo -e "\033[31m$NAEM is already exist !!\033[0m"
        }
        CREATE
}
CREATE
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值