+ -
当前位置:首页 → 问答吧 → 脚本中的权限问题,

脚本中的权限问题,

时间:2011-12-01

来源:互联网

我看不懂,而且运行有误.
希望高人指点,并请分析代码的具体作用

#!/bin/bash

function changename()
{

if [ -z $2 ];then
echo "lack function parameter "
return -1
fi
mv -f $1 $2
return 0
}
function change()
{
ofileName= # old file name
nfileName= #new file name
ls -l > a.txt
index=0
while read line
do
index=`expr ${index} + 1`
if [ ${index} -eq 1 ] ; then
continue; # ignore the first line of 'ls -l'
fi
a=($line)
#echo ${a[8]} the 9th element of array is file name
#echo ${a[3]} # the 3rd element of array is owner name
ofileName=${a[8]}
pos=`expr index ${ofileName} "."` # pos = the . position in file name
if [ ${pos} -eq 0 ] ; then # if no . in file name then nfileName=oldName+[+owner+]
nfileName="${ofileName}[${a[3]}]"
else
owner="[${a[3]}]."
nfileName="${a[8]/./${owner}} " # substitute the . character to the "[owner]."
fi
echo "nfilename=${nfileName}"
changename ${ofileName} ${nfileName} #call function changename to change file name to new file name
done<a.txt
}


change
ls -l
echo "changed successfully"

最后由 pumasare 编辑于 2011-12-01 21:45,总共编辑了 1 次

作者: pumasare   发布时间: 2011-12-01

(帮楼主排版)
我看不懂,而且运行有误.希望高人指点
代码: [ 下载 ] [ 隐藏 ]
代码: [ 下载 ] [ 显示 ]
使用 bash 语法高亮
#!/bin/bash  

function changename()
{
   
   if [ -z $2 ];then
      echo "lack function parameter "
      return -1
   fi
   mv -f $1 $2
   return 0  
}
function change()
{
   ofileName= # old file name
   nfileName= #new file name
   ls -l > a.txt
  index=0
  while read line
  do
    index=`expr ${index} + 1`
    if [ ${index} -eq 1 ] ; then
        continue;  # ignore the first line of 'ls -l'
fi
    a=($line)
    #echo ${a[8]}       the 9th element of array is file name
    #echo ${a[3]}                  # the 3rd element of array is owner name    
    ofileName=${a[8]}
    pos=`expr index ${ofileName} "."`  # pos = the . position in file name
    if [ ${pos} -eq 0 ] ; then  # if no . in file name then nfileName=oldName+[+owner+]
        nfileName="${ofileName}[${a[3]}]"
    else  
        owner="[${a[3]}]."
        nfileName="${a[8]/./${owner}} "  # substitute the . character to the "[owner]."
    fi  
    echo "nfilename=${nfileName}"
    changename ${ofileName} ${nfileName} #call function changename to change file name to new file name
  done<a.txt
}


change
ls -l
echo "changed successfully"
格式化 0.018 秒, 使用 GeSHi 1.0.8.4

作者: ljj_jjl2008   发布时间: 2011-12-01

一个一个的看man。man bash

作者: eexpress   发布时间: 2011-12-01