Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在循环linux中创建变量-权限被拒绝_Linux_Permissions_Cut - Fatal编程技术网

在循环linux中创建变量-权限被拒绝

在循环linux中创建变量-权限被拒绝,linux,permissions,cut,Linux,Permissions,Cut,我试图运行这个简单的脚本,在这个脚本中,我循环遍历目录中的一系列文件,并希望创建一个带有“cut”的变量,以提取文件名的一部分。 我收到一个权限被拒绝的错误,无法找出原因。 下面是我的脚本 FILES=./data/* for f in $FILES do NEWNAME=$($f|cut -c3-12) echo $NEWNAME done 最终目标是使用mkdir/path/to/new/directory/$NEWNAME$(stuff)将stuff作为命令执行,并将其

我试图运行这个简单的脚本,在这个脚本中,我循环遍历目录中的一系列文件,并希望创建一个带有“cut”的变量,以提取文件名的一部分。 我收到一个权限被拒绝的错误,无法找出原因。 下面是我的脚本

FILES=./data/*

for f in $FILES
do
    NEWNAME=$($f|cut -c3-12)
    echo $NEWNAME
done
最终目标是使用
mkdir/path/to/new/directory/$NEWNAME
$(stuff)
stuff
作为命令执行,并将其输出替换回命令行。所以当你这样做的时候:

$($f|cut -c3-12)
它尝试以命令的形式执行
$f
,并将其输出传输到
cut
。由于
$f
中的文件没有执行权限,因此出现错误

如果试图剪切变量
$f
的内容,则需要回显它:

NEWNAME=$(echo "$f" | cut -c3-12)
但是没有必要使用
cut
为此,
bash
有一个内置的参数扩展操作符来选择子字符串:

NEWNAME=${f:2:10}

谁是所有者,对
/data/*
中的文件有什么权限?谢谢!它起作用了,并且使语法的使用更加清晰。