怎么在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函数问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。