如何在命令行中将2个目录视为一个目录

时间:2015-01-04 17:09:28

标签: bash shell command-line-arguments zsh directory

我有一个脚本,它获取目录列表并比较它们的文件数。我想要的是有时将两个或多个目录分组,由脚本将其视为一个目录。当然我可以修改脚本,但我更喜欢在命令行中进行这种分组。

$ ./myscript.sh {dir1 dir2} dir3 dir4 ... 
应将

视为{dir1 dir2}是两个目录元素的(数学)联合。

如何实现这一目标?

2 个答案:

答案 0 :(得分:0)

您可以像这样使用目录数组:

## declare an array variable
declare -a arr=("/home/x/dir1" "/home/x/dir2" "/home/x/dir3")

## now loop through the above array
for i in "${arr[@]}"
do
     ./myscript.sh $i dir3 dir4 ...
done

答案 1 :(得分:0)

如何在单独的脚本中将目录内容合并在一起,然后将该脚本作为参数传递:

file1=$1
file2=$2
cp -R $file1/* $file2
echo $file2

然后您可以按如下方式使用脚本:

./myscript "$(./merge dir1 dir2)" dir3 ...