怎么在Shell脚本中实现一个ftok函数
更新:HHH   时间:2023-1-7


怎么在Shell脚本中实现一个ftok函数?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

#!/bin/shlet key=0function ftok() {    pathname=$1;    proj_id=$2;
    str_st_ino=`stat --format='%i' "${pathname}" 2>/dev/null`;    str_st_dev=`stat --format='%d' "${pathname}" 2>/dev/null`;    if [ "x${str_st_ino}" = "x" -o "x${str_st_dev}" = "x" ] ; then        return 1;    fi
    let st_ino=${str_st_ino}    let st_dev=${str_st_dev}
    # 注意这里的位操作运算符需要加转义符    let key1=${st_ino}\&16#FFFF    let key2=${st_dev}\&16#FF    let key2=${key2}\<\<16    let key3=${proj_id}\&16#FF    let key3=${key3}\<\<24    let key=${key1}\|${key2}    let key=${key}\|${key3}}
function echohelp(){    echo "ftok generator"    echo "Usage:ftok pathname projid"    exit 5}
if [ $# -ne 2 ] ; then    echohelpfi
sPathName=$1let nProjectID=$2
if [ "${sPathName:0:1}" != "/" ] ; then    sPathName=${PWD}/${sPathName}fi
if ! test -f ${sPathName} ; then    echo "No File Found![${sPathName}]"    exit 4fi
ftok "${sPathName}" "${nProjectID}"echo ${key}

关于怎么在Shell脚本中实现一个ftok函数问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注天达云行业资讯频道了解更多相关知识。

返回开发技术教程...