精华内容
下载资源
问答
  • 按照测试对象来划分,条件测试语句分为4种: 文件测试语句 ...用文件测试语句判断 /etc/fstab是否为一般文件,如果返回值为0,则代表文件存在,且为一般文件,非0,则代表文件不存在 [xxx]# [ -f /e

    按照测试对象来划分,条件测试语句分为4种:
    文件测试语句
    逻辑测试语句
    整数值比较语句
    字符串比较语句

    运算符 作用
    - d 测试文件是否为目录型
    - e 测试文件是否存在
    - f 判断是否为一般文件
    - r 测试当前用户是否有权限读取
    - w 测试当前用户是否有权限写入
    - x 测试当前用户是否有权限执行

    E.g

    用文件测试语句判断 /etc/fstab是否为一般文件,如果返回值为0,则代表文件存在,且为一般文件,非0,则代表文件不存在

    [xxx]# [ -f /etc/fstab ]
    [xxx]# echo $?
    0

    逻辑符号
    && 代表当前的命令执行成功后才会执行它后面的命令
    || 代表当前面的命令执行失败后才会执行它后面的命令
    ! 代表“非”,取返值
    以下 [xxx] 代表 root 账户 [xyz] 代表普通用户

    E.g
    [xxx]# [ -e /dev/cdrom ] && echo “Exist”
    Exist

    E.g
    [xxx]# echo $USER
    root
    若账户不是超级账户,则返回值为空

    [xxx]# [ $USER = root ] || echo “user”
    [xxx]# su - xyz
    [xyz]# $ [ $USER = root ] || echo “user”
    user

    E.g
    [xxx]# [! $USER = root ] || echo “admin”
    admin

    E.g
    [xxx]# [ ! $USER = root ] && echo “user” || echo “root”
    root

    可用的整数比较运算符

    运算符 作用
    -eq 是否等于
    -ne 是否不等于
    -gt 是否大于
    -lt 是否小于
    -le 是否小于或等于
    -ge 是否大于或等于

    E.g

    [xxx]# [ 10 -gt 10 ]
    [xxx]# echo $?
    1

    [xxx]# [ 10 -eq 10 ]
    [xxx]# echo $?
    0

    E.g

    [xxx]# free -m
    total used free shared buffers cached
    Mem: 3939 941 2998 9 1 295
    -/+ buffers/cache: 644 3295
    Swap: 2047 0 2047

    [xxx]# free -m | grep Mem:
    Mem: 3939 938 3000 9 1 295

    [xxx]# free -m | grep Mem: | awk ‘{print $4}’
    3000

    [xxxp]# FreeMem=free -m | grep Mem: | awk '{print $4}'
    [xxx]# echo $FreeMem
    2998

    E.g
    [xxx]# [ $FreeMem -lt 1024 ] && echo “Insufiicient Memory”

    [xxx]# [ $FreeMem -lt 1024 ] || echo “sufiicient Memory”
    sufiicient Memory

    运算符 作用
    = 比较字符串内容是否相同
    != 比较字符串内容是否不同
    -z 判断字符串内容是否为空

    E.g

    [xxx]# [ -z $String ]
    [xxx]# echo $?
    0

    E.g

    [xxx]# echo $LANG
    en_US.utf8

    [xxx]# [ $LANG != “en.US” ] && echo “Not en.US”

    流程控制语句

    if条件测试语句

    if 条件测试操作
    then 命令序列
    fi

    用 if 判断 /media/cdrom 文件是否存在,若存在就结束条件判断和整个Shell脚本,反之则去创建这个目录

    [xxx]$ ls -d /media/cdrom
    ls: cannot access /media/cdrom: No such file or directory

    [xxx]# vim mkcdrom.sh
    #!/bin/bash
    DIR="/media/cdrom"
    if [ ! -e $DIR ]
    then
    mkdir -p $DIR
    fi

    [xxx]# bash mkcdrom.sh
    [xxx]# ls -d /media/cdrom
    /media/cdrom

    双分支if tiaojianju

    if 条件测试操作
    then 命令序列1
    else 命令序列2
    fi

    E.g

    注:
    -c 参数来规定常熟的次数
    -i 参数定义每个数据包的发送间隔
    -w 参数定义等待超时时间
    /dev/null 是一个被称作Linux黑洞的文件,把信息重定向到这个文件等同于删除数据(类似没有回收功能的垃圾箱),可以让用户的屏幕窗口保存简洁

    [xxx]# vim chkhost.sh
    #!/bin/bash
    ping -c 3 -i 0.2 -w 3 $1 $> /dev/null
    if [ $? eq 0 ]
    then
    echo “Host $1 is On-line”
    else
    echo “Host $1 is off-line”
    fi

    [xxx]# bash chkhost.sh 192.168.10.10
    ping: unknown host $
    chkhost.sh: line 3: [: eq: binary operator expected
    Host 192.168.10.10 is off-line

    if 条件语句多分支

    if 条件测试操作1
    then 命令序列1
    elif 条件测试操作2
    then 命令序列2
    else
    命令序列3
    fi

    E.g

    注: -p 参数用于向用户显示一定的提示信息

    #!/bin/bash
    read -p “Enter your score (0-100):” GRADE
    if [ $GRADE -ge 85 ] && [ $GRADE -le 100 ] ; then
    echo “GRADE is Excelllent”
    elif [ $GRADE -ge 70 ] && [ $GRADE -le 84 ] ; then
    echo “GRADE is Pass”
    else
    echo “GRADE is Fail”
    fi

    [xxx]# bash chkscore.sh
    Enter your score (0-100):86
    GRADE is Excelllent
    [xxx]# bash chkscore.sh
    Enter your score (0-100):66
    GRADE is Fail
    [xxx]# bash chkscore.sh
    Enter your score (0-100):200
    GRADE is Fail

    for 条件循环语句

    for 变量名 in 取值列表
    do
    命令序列
    done

    [xxx]# vim Example.sh
    andy
    barry
    carl
    duke
    eric
    george

    [xxx]# vim users.txt
    #!/bin/
    bash
    read -p “Enter The Users Password : " PASSWD
    for UNAME in cat users.txt
    do
    id $UNAME &> /dev/null
    if [ $? -eq 0 ]
    then
    echo “Already exists”
    else
    useradd KaTeX parse error: Expected 'EOF', got '&' at position 7: UNAME &̲> /dev/null ech…PASSWD” | passwd --stdin $UNAME &> /dev/null
    if [ ?eq0]thenecho"? -eq 0 ] then echo "UNAME, Create success"
    else
    echo “$UNAME, Creat failure”
    fi
    fi
    done

    [xxx]# bash Example.sh
    Enter The Users Password : test
    Already exists
    Already exists
    Already exists
    Already exists
    Already exists
    Already exists

    While 条件循环语句

    通过条件测试的真假来决定是否继续执行命令,若条件为真就继续执行,为假就结束循环

    while 条件测试操作
    do
    命令序列
    done

    E.g

    [xxx]# vim Guess.sh
    #!/bin/bash
    PRICE=$(expr $RANDOM % 1000)
    TIMES=0
    echo “Price bwteen 0-999,please guess”
    while true
    do
    read -p "Please input the price: " INT
    let TIMES++
    if [ $INT -eq $PRICE ]; then
    echo “Congratulation, the price is $PRICE”
    echo “You guess totally $TIMES times”
    exit 0
    elif [ $INT -gt $PRICE ] ; then
    echo “Too high!”
    else
    echo “Too low!”
    fi
    done

    [xxx]# bash Guess.sh
    Price bwteen 0-999,please guess
    Please input the price: 800
    Too high!
    Please input the price: 400
    Too high!
    Please input the price: 200
    Congratulation, the price is 200
    You guess totally 3 times

    Case 条件测试语句

    Case 变量值 in
    模式1)
    命令序列1
    ;;
    模式1)
    命令序列2
    ;;
    *)
    默认命令序列
    esac

    E.g

    [xxx]# vim Checkkeys.sh
    #!/bin/bash
    read -p "Please input a Character and confirm by Enter button: " KEY
    case “$KEY” in
    [a-z] | [A-Z])
    echo “Your input is Character”
    ;;
    [0-9])
    echo “Your input is number”
    ;;
    *)
    echo “Your input is space or function or other control character”
    esac

    [xxx]# bash Checkkeys.sh
    Please input a Character and confirm by Enter button: a
    Your input is Character

    [xxx]# bash Checkkeys.sh
    Please input a Character and confirm by Enter button: 8
    Your input is number

    [xxx]# bash Checkkeys.sh
    Please input a Character and confirm by Enter button: %
    Your input is space or function or other control character

    计划任务服务程序

    一次性计划任务只执行一次,一般用于满足临时的工作需求
    可以用 at 命令实现这种功能

    at -l 查看已设置好但还未执行的一次性计划任务
    atrm 将其删除

    [xxx]# vim Checkkeys.sh
    [xxx]# at 13:30
    at> systemctl restart httpd
    at> (此处是需要Ctrl+d 组合键完成)
    job 1 at Thu Aug 13 13:30:00 2020

    [xxx]# at -l
    1 Thu Aug 13 13:30:00 2020 a root

    [xxx]# echo “systemctl restart httpd” | at 13:30
    job 2 at Thu Aug 13 13:30:00 2020

    [xxx]# at -l
    1 Thu Aug 13 13:30:00 2020 a root
    2 Thu Aug 13 13:30:00 2020 a root

    [xxx]# atrm 1
    [xxx]# at -l
    2 Thu Aug 13 13:30:00 2020 a root

    Crond 周期性地、有规律地执行某些具体任务

    crontab -e 创建、编辑计划任务
    crontab -l 查看当前计划任务
    crontab -r 删除某条计划任务
    crontab -u 编辑他人的计划任务

    使用crond设置任务的参数格式

    分、时、日、月、星期

    字段 说明
    取值为0-59的整数
    取值为0-23的任意整数
    取值为1-31的任意整数
    取值为1-12的任意整数
    星期 取值为0-7的任意整数,其中0与7均为星期日
    命令 要执行的命令或程序脚本

    [xxx]# crontab -e
    [xxx]# crontab -l
    25 3 * * 1,3,5 /usr/bin/tar -czvf backup.tar.gz /home/wwwroot

    展开全文
  • 注意:用户需要安全角色读的权限, function onLoad() { CurrentUserHasRole('系统管理员'); //有则是TRUE } //功能说明: 获取当前用户是否具有该角色 //备注: //参数说明: // roleName: 角色名称 /...

    注意:用户需要安全角色读的权限,

    function onLoad() {
        CurrentUserHasRole('系统管理员'); //有则是TRUE
    }
    
    //功能说明: 获取当前用户是否具有该角色
    //备注:               
    //参数说明:
    //          roleName: 角色名称
    //返回值说明(return):
    //          bool:
    function CurrentUserHasRole(roleName) {
        //为了避免OData中文检索不出这种问题,使用encodeURIComponent来encode;
        var serverUrl = Xrm.Page.context.getClientUrl();
        var curUserId = Xrm.Page.context.getUserId();
        var retrieveEntityReq = RetrieveEntityRecordByGuid("SystemUser", curUserId);
        retrieveEntityReq.send();
        if (retrieveEntityReq.status == 200) {
            var retrieved = JSON.parse(retrieveEntityReq.responseText).d;
            var oDataEndpointUrl = serverUrl + "/XRMServices/2011/OrganizationData.svc/";
            oDataEndpointUrl += "RoleSet?$filter=Name eq " + "'" + encodeURIComponent(roleName) + "'" + " and BusinessUnitId/Id eq (guid'" + retrieved.BusinessUnitId.Id + "')";
    
            var service = new XMLHttpRequest();
            if (service != null) {
                service.open("GET", oDataEndpointUrl, false);
                service.setRequestHeader("Accept", "application/json");
                service.setRequestHeader("Content-Type", "application/json; charset=utf-8");
                service.send(null);
    
                var requestResults = eval('(' + service.responseText + ')').d;
                if (requestResults != null && requestResults.results.length == 1) {
                    var role = requestResults.results[0];
                    var id = role.RoleId;
                    var currentUserRoles = Xrm.Page.context.getUserRoles();
                    for (var i = 0; i < currentUserRoles.length; i++) {
                        var userRole = currentUserRoles[i];
                        if (GuidsAreEqual(userRole, id)) {
                            return true;
                        }
                    }
                }
            }
            return false;
        }
    }
    
    
    //功能说明: 比较两个Guid
    //备注:               
    //参数说明(Parameters):
    //         guid1:Guid
    //         guid2: Guid
    //返回值说明(return):
    //          bool:
    function GuidsAreEqual(guid1, guid2) {
        var isEqual = false;
    
        if (guid1 == null || guid2 == null) {
            isEqual = false;
        }
        else {
            isEqual = guid1.replace(/[{}]/g, "").toLowerCase() == guid2.replace(/[{}]/g, "").toLowerCase();
        }
    
        return isEqual;
    }

     

    添加OnLoad方法时需选择 传递参数

     

     

    转载于:https://www.cnblogs.com/z1984/p/3161232.html

    展开全文
  • 说明$?: $?为上一次命令的执行返回值,若上一次命令正常执行,则返回0;若执行出错,则返回一个非0的...1.文件测试语句-d 是否为目录文件 -e 文件是否存在 -f 是否为一般文件 -r 当前用户是否有权限读 -w 写 -x 执...

    说明$?:  $?为上一次命令的执行返回值,若上一次命令正常执行,则返回0;若执行出错,则返回一个非0的随机数。比如创建一个已经存在的目录,则返回一个非0数。  另外,测试语句成立返回0,否则返回非0随机数。

    [ 条件表达式 ] 两侧必须有空格

    1.文件测试语句   -d 是否为目录文件  -e 文件是否存在  -f 是否为一般文件 -r 当前用户是否有权限读    -w  写    -x 执行     # [ -d /etc/fstab ]   # echo $?  显示为非0数

    2.逻辑测试语句   && 表示前面命令执行成功后才执行后面命令  ||表示前面不成功才执行后面   =判断是否相等      !把判断结果取相反值    如对于root用户:# [ $USER = luciusvorenus ] || echo "error"  显示为error    # [ ! $USER = luciusvorenus ] && echo "error"  也显示为 error     # [ ! $USER = root ] && echo "true" || echo "error"  也显示为 error  

    3.整数值比较语句  整数比较运算符仅是对数字的操作,不能将数字与字符串、文件等内容一起操作。 -eq 是否等于  -ne 是否不等于  -gt 是否大于  -lt是否小于  -le是否小于等于 -ge是否大于等于 # [ 10 -gt 10 ]      #echo $?

    4.字符串比较语句    = 字符串内容是否相同  != 字符串内容是否不同   -z 字符串内容是否为空(即变量是否未被定义,未被定义就为空)   # [ -z $String ]  //判断字符串String是否为空(是否未被定义为变量)   #echo $?    # [ $LANG = "en.US" ]   # echo $?
     

    展开全文
  • shell条件判断

    2021-03-18 09:19:10
    shell会根据上一条命令执行的返回值判断真假,返回0值为真,非0值为假 格式一:test 条件表达式 格式二:[ 条件表达式 ] #注意括号里有空格 文件测试 格式:[ 操作符 文件或目录 ] -e:测试目录或文件是否存在...

    条件的判断

    shell会根据上一条命令执行的返回值来判断真假,返回0值为真,非0值为假

    格式一:test 条件表达式
    格式二:[ 条件表达式 ] #注意括号里有空格

    文件测试

    格式:[ 操作符 文件或目录 ]

    -e:测试目录或文件是否存在(Exist)。
    -d:测试是否为目录(Directory)。
    -f:测试是否为文件(File)。
    -r:测试当前用户是否有权限读取(Read)。
    -w:测试当前用户是否有权限写入(Write)。
    -x:测试是否设置有可执行(Excute)权限。
    

    整数值比较

    格式:[ 整数变量1 操作符 整数变量2 ]

    -eq:等于					==
    -ne:不等于					!=
    -gt:大于					\>
    -lt:小于					\<
    -le:小于等于
    -ge:大于等于
    

    字符串比较

    [  字符串1  =  字符串2 ] 或 [  字符串1  ==  字符串2 ] 
    [  字符串1  !=  字符串2 ]
    [  -z  字符串 ]		#检查字符串是否为空(Zero),对于未定义或赋予空值的变量将视为空串
    [  -n  字符串 ]		#检查是否有字符串存在
    

    逻辑测试

    [ 表达式1 ] 操作符 [ 表达式2 ]

    常用的操作符

    -a或&& :逻辑与,“而且”的意思,前后条件需都成立
    -o或|| :逻辑或,“或者”的意思,只需前后条件中一个成立
    ! :逻辑否
    

    #&&、||操作符能够正常存在于[[ ]]条件判断结构中,但是如果出现在[ ]结构中的话,会报错

    PING的命令

    -c:发送包的个数
    -i:发送包的间隔时间
    -W:超时时间
    -w:多少秒后停止 ping 命令操作

    if语句

    单分支 if 语句

    if 条件测试操作
    then
    命令序列
    fi
    在这里插入图片描述
    在这里插入图片描述

    双分支 if 语句

    if 条件测试操作
    then
    命令序列 1
    else
    命令序列 2
    fi
    在这里插入图片描述

    在这里插入图片描述

    多分支 if 语句

    if 条件测试操作 1
    then
    命令序列 1
    elif 条件测试操作 2
    then
    命令序列 2
    [else]
    [命令序列 3]
    fi
    在这里插入图片描述
    在这里插入图片描述

    case 语句

    case 变量值 in
    模式 1)
    命令序列 1
    ;;
    模式 2)
    命令序列 2
    ;;
    ……
    *)
    默认命令序列
    esac

    在这里插入图片描述

    在这里插入图片描述

    展开全文
  • 权限控制--js动态生成的html

    千次阅读 2017-06-01 09:44:37
    背景: 由于页面元素需要做权限控制,而shiro标签只能用在jsp页面,对于js动态生成的html则无能为力。...所以计划先取到当前用户的所有权限作为返回值(set),在需要判断的地方 遍历。 遇到的问题: 该函数是页面
  • 一、运行时权限 什么是运行时权限? 运行时权限,顾名思义,就是在...判断用户是否已经给过权限public void click1(View view) { /* * 如果checkSelfPermission()方法的返回值与PackageManager.PERMIS...
  • )来判断是否执行成功,当返回值为0(真true)时表示成功,返回值为非0值(假false)时表示失败或异常。 一、条件语句 (1)test命令 格式一:test 条件表达式 格式二:[ 条件表达式 ] (2)文件测试 格式:[ ...
  • Shell编程之条件判断

    2019-09-27 16:02:03
    ** ​​​​Shell编程之条件判断 ** 条件测试操作 test命令 测试特定的表达式是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值 ...-r:测试当前用户是否有权限读取 -w:测试当前用户是否有权...
  • Android---权限申请

    2020-10-22 09:24:47
    判断用户是否已经授权。ContextCompat.checkSelfPermission()方法第一个参数是 Context,第二个参数是具体的权限名。如果返回值不等于PackageManager.PERMISSION_GRANTED,则代表没有授权 ContextCompat....
  • 1、判断用户是否已经授权ContextCompat.checkSelfPermission();两个参数:①Context ②具体的权限名将方法的返回值与 PackageManager.PERMISSION_GRANTED 进行比较,若相等则表示已经授权 2、若已经授权,则直接...
  •   Android 6.0 以后对于一些隐私...  一般情况下,用户勾选了“不再提醒”的选项,我们可以通过shouldShowRequestPermissionRationale()的返回值判断,true表示没有勾选“不再提醒”,而false则表示勾选了“不...
  • 目录结构: ...1、hasRole方法,返回值为boolean类型(判断当前用户是否有一个角色); 2、hasRoles方法,返回值为boolean数组(判断当前用户是否有多个角色,一个角色对应数组中的一个值); 3、has
  • 一.角色校验 1.hasRole(String role) hasRole是判断是否具有某个角色:有就返回true,没有就返回false 2.hasRoles(List roles) 判断是否具有多个角色:返回值是一个boolean的数组,数组中的每...也是判断用户是否具有角
  • 3.Url地址权限判断,需要做长度对比.如设置defautl.aspx?cmd=122 则会自动匹配 defautl.aspx?cmd=122xxxxxxx 4.修改模块分类,提示请输入权限名称,其内容不可以为空 5.插入在线人员出错,重复值InsertOnlineUser 6....
  • KillProcDLL::KillProc {process_name} 0 - 杀进程成功 603 - 未找到此进程(也有可能是无法访问进程,如因用户权限问题等) 其它 - 各种错误 所以,在杀进程时,如果返回603,最后再findproc一下,确认是否进程...
  • 3.Url地址权限判断,需要做长度对比.如设置defautl.aspx?cmd=122 则会自动匹配 defautl.aspx?cmd=122xxxxxxx 4.修改模块分类,提示请输入权限名称,其内容不可以为空 5.插入在线人员出错,重复值InsertOnlineUser 6....
  • 委托其实是一个数据类型(类),委托是方法的抽象,他明确规定了方法的返回值类型和参数。我们可以向一个委托中以参数的形式添加声明相同但功能不同的方法,这样可以通过执行委托来执行添加的方法。 委托的出现提高...
  • 条件测试语句 返回值的两个状态:0...r 判断用户是否有读取权限 w 判断用户是否有写入权限 x判断用户是否有执行权限 逻辑语句 &&与 || 或 !非 整数比较运算符 -eq 是否等于 -ne 是否不等于 -gt 是否大...
  • 4.2.3判断用户的参数 运算符 作用 -d 文件是否为目录类型 -e 文件是否存在 -f 判断是否为一般文件 -r 判断当前用户是否有读权限 -w 判断当前用户是否有写入权限 -r 判断当前用户是否有执行权限 ...
  • 小程序授权登录流程

    2019-11-18 15:00:31
    通过调用wx.getSetting(获取用户的当前设置,返回值中只会出现小程序已经向用户请求过的权限)API,检测用户是否授权,代码如下: wx.getSetting({ success: resSetData => { // 判断用户是否授权 if ...
  • 项目功能实现思路

    2021-04-15 12:14:06
    根据username查出用户, 判断用户的密码属性跟,输入的密码是否相等,返回值是一个用户对象,根据对象是否为空判断登陆的成功与失败。 权限验证(访问某些,需要验证你,是存在用户,的资源时) 1.当用户成功登陆时...
  • 通过ContextCompat.checkSelfPermission()方法 判断用户是否给某个危险权限授权。方法接收两个参数,第一个是Context,第二个是具体的权限名。比如拨打电话的权限名是Manifest.permission.CALL_PHONE,然后使用...
  • Shell 脚本应用(二)

    2020-09-07 20:58:00
    )来判断条件是否执行成功(返回值为0 表示成功;返回值为非0 值表示失败或异常) (一)、文件测试 选项 作用 -d 测试是否为目录(Directory) -f 测试是否为文件(File) -e 测试目录或文件是否存在...
  • 8-19JAVA课程学习

    2019-08-20 14:02:05
    用户权限进行判断 对Login进行修改 返回值变为user和null 数据类型由boole变为user public User login(String username,String password) throws SQLException { Connection connection = DBUtil.getConnection...
  • 例如通过拦截器可以进行权限验证、记录星系的日志、判断用户是否登录等。 (二)拦截器类的定义 以实现HandlerInterceptor接口方式为例,自定义拦截器类的方法如下: 2.1 preHandle:该方法会在控制器方法前执行,其...
  • shell编程之条件语句

    2021-03-03 18:41:34
    可以对特定条件进行测试,并根据返回值判断条件是否成立(返回值为 0 表示条件成立,反之不成立) 文件测试 根据给的路径名称,判断对应的是文件还是目录,或者判断是否有相应的权限等 1 [操作符 文件 或目录...
  • 一、access()函数用来判断用户是否具有访问某个文件的权限(或判断某个文件是否存在). 二、需要包含#include<unistd.h> 三、参数和返回值 int access(const char *pathname,int mode) 参数: pa...
  • 比如通过它来进行权限验 证,或者是来判断用户是否登陆,或者是像12306 那样子判断当前时间是否是购票时间。 二、执行顺序说明 1、preHandle 方法请求前调用返回值是Boolean 如果是返回false 则请求结束,后续的...
  • 小程序获取地址流程

    2021-05-13 21:26:20
    返回值中只会出现小程序已经向用户请求过的权限。 wx.getSetting({ success(res){ //log获取到的数据 console.log(res); //里面有authSetting是用户授权设置信息(true,false) if(res.authSetting){ //...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 173
精华内容 69
关键字:

判断用户权限返回值