shell脚本运行时提示sed权限问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
zhiyizhi
帖子: 28
注册时间: 2007-06-18 14:19

shell脚本运行时提示sed权限问题

#1

帖子 zhiyizhi » 2012-02-13 11:06

我在别人帮助下写了一个批量更改文件名的脚本rename4,见附件。可是我有时运行会遇到如下的错误提示:
sed: preserving permissions for `./sedtVjLt3': Operation not permitted
sed: preserving permissions for `./sedV8fJD3': Operation not permitted
但是我不知道该如何纠正错误,尽管这个错误对我需要进行的更名任务并无大碍!希望知道的高人指点,谢谢!
附件
rename4.tar.gz
(612 Bytes) 已下载 64 次
头像
kingkongmok
帖子: 340
注册时间: 2006-03-23 14:48

Re: shell脚本运行时提示sed权限问题

#2

帖子 kingkongmok » 2012-02-13 15:57

应该就是您没有修改order和name这两个文件的权限口牙。把它拷贝出来让其有写权限吧。
头像
josephyoung
帖子: 158
注册时间: 2011-11-05 18:53
来自: 南极圈

Re: shell脚本运行时提示sed权限问题

#3

帖子 josephyoung » 2012-02-13 20:01

代码: 全选

#!/bin/awk -f
#Usage: ./rename.awk order name

BEGIN{
order=ARGV[1]
name=ARGV[2]
delete ARGV[2]
getline < order
sub("^.*\\.",".")
ext=$0
close(order)
}
/^ *$/{exit}
{
getline new < name
system("mv "$0" "new ext)
}
用awk写了一个,互相参考 :em01
头像
Think1st
帖子: 45
注册时间: 2012-02-07 23:08

Re: shell脚本运行时提示sed权限问题

#4

帖子 Think1st » 2012-02-14 10:32

kingkongmok 写了:应该就是您没有修改order和name这两个文件的权限口牙。把它拷贝出来让其有写权限吧。
同意,我这边运行没有这样的问题。
order和name你应该没有写权限。
在这里,问题比答案更抢手。
zhiyizhi
帖子: 28
注册时间: 2007-06-18 14:19

Re: shell脚本运行时提示sed权限问题

#5

帖子 zhiyizhi » 2012-02-14 14:47

谢谢各位,应该是权限的问题!我查了一下order和name所在的位置为
drwxrwxrwx 1 root root 16384 Feb 14 14:17 music-wind
zhiyizhi
帖子: 28
注册时间: 2007-06-18 14:19

Re: shell脚本运行时提示sed权限问题

#6

帖子 zhiyizhi » 2012-02-15 15:30

终于解决了,最后发现是由于order和name文件在windows的ntfs分区,而我挂载这个分区时忘了加入uid和gid,从而导致即便使用sudo也无法更改权限。后来在/etc/fstab文件中加入正确的uid和gid后,就完全可以了!谢谢各位!
回复