文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>ftok函数的shell脚本实现

ftok函数的shell脚本实现

时间:2007-11-08  来源:sss0213

  1. #!/bin/sh   
  2. let key=0   
  3. function ftok() {   
  4.     pathname=$1;   
  5.     proj_id=$2;   
  6.   
  7.     str_st_ino=`stat --format='%i' "${pathname}" 2>/dev/null`;   
  8.     str_st_dev=`stat --format='%d' "${pathname}" 2>/dev/null`;   
  9.     if [ "x${str_st_ino}" = "x" -o "x${str_st_dev}" = "x" ] ; then   
  10.         return 1;   
  11.     fi   
  12.   
  13.     let st_ino=${str_st_ino}   
  14.     let st_dev=${str_st_dev}   
  15.   
  16.     # 注意这里的位操作运算符需要加转义符   
  17.     let key1=${st_ino}\&16#FFFF   
  18.     let key2=${st_dev}\&16#FF   
  19.     let key2=${key2}\<\<16   
  20.     let key3=${proj_id}\&16#FF   
  21.     let key3=${key3}\<\<24   
  22.     let key=${key1}\|${key2}   
  23.     let key=${key}\|${key3}   
  24. }   
  25.   
  26. function echohelp(){   
  27.     echo "ftok generator"   
  28.     echo "Usage:ftok pathname projid"   
  29.     exit 5   
  30. }   
  31.   
  32. if [ $# -ne 2 ] ; then   
  33.     echohelp   
  34. fi   
  35.   
  36. sPathName=$1   
  37. let nProjectID=$2   
  38.   
  39. if [ "${sPathName:0:1}" != "/" ] ; then   
  40.     sPathName=${PWD}/${sPathName}   
  41. fi   
  42.   
  43. if ! test -f ${sPathName} ; then   
  44.     echo "No File Found![${sPathName}]"   
  45.     exit 4   
  46. fi   
  47.   
  48. ftok "${sPathName}" "${nProjectID}"   
  49. echo ${key}   
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载