Chmoding一系列文件bash脚本
我已经面对这个问题并寻找可能的解决方案: 编写一个bash脚本,在文件Chmoding一系列文件bash脚本,bash,file,shell,chmod,Bash,File,Shell,Chmod,我已经面对这个问题并寻找可能的解决方案: 编写一个bash脚本,在文件/tmp/test28,/tmp/test29上运行命令chmod 644。。。最多/tmp/test48,除了/tmp/test32 我在哪里可以找到相关的练习?如果可能,请查找资源。您可以使用seq命令。使用上面的示例,此代码将完成除/tmp/test32之外的所有操作 for X in `seq 28 48` do if [ ${X} -ne 32 ] then touch /tmp/t
/tmp/test28
,/tmp/test29
上运行命令chmod 644
。。。最多/tmp/test48
,除了/tmp/test32
我在哪里可以找到相关的练习?如果可能,请查找资源。您可以使用seq命令。使用上面的示例,此代码将完成除/tmp/test32之外的所有操作
for X in `seq 28 48`
do
if [ ${X} -ne 32 ]
then
touch /tmp/test${X}
fi
done
当然,您需要根据需要将touch命令更改为chmod命令。我只是没有所有这些文件,所以使用touch来快速创建它们。你在寻找什么样的资源 由于唯一的变化是数字,您可以这样做:
#!/bin/bash
for((i=28;i<=48;i++));do
((i!=32)) && chmod 644 /tmp/test"$i"
done
#/bin/bash
对于((i=28;i我将使用这个bash循环:
{28..48}中的i的do
如果[${i}-ne 32]];则
chmod 644/tmp/test${i}
fi
完成
如果这是真实世界,我会使用类似于以下内容的find命令:
find-name'test*!-name'test32'-print0 | xargs-r0 chmod 644
find命令将查找所有test*文件,忽略test32,并将它们打印到以null分隔的stdout。xargs-r0表示读取以null结尾的文件列表,而-r表示仅在至少有一个文件时运行