我正在尝试编写一个shell脚本,该脚本将使多个目标变成多个不同的路径.我将传递一个以空格分隔的路径列表和一个以空格分隔的目标列表,脚本将为每对路径和目标使DESTDIR = $path $target.在Python中,我的脚本如下所示:...

我正在尝试编写一个shell脚本,该脚本将使多个目标变成多个不同的路径.我将传递一个以空格分隔的路径列表和一个以空格分隔的目标列表,脚本将为每对路径和目标使DESTDIR = $path $target.在Python中,我的脚本如下所示:
for path, target in zip(paths, targets):
exec_shell_command('make DESTDIR=' + path + ' ' + target)
但是,这是我当前的shell脚本:
#! /bin/bash
packages=$1
targets=$2
target=
set_target_number () {
number=$1
counter=0
for temp_target in $targets; do
if [[ $counter -eq $number ]]; then
target=$temp_target
fi
counter=`expr $counter + 1`
done
}
package_num=0
for package in $packages; do
package_fs="debian/tmp/$package"
set_target_number $package_num
echo "mkdir -p $package_fs"
echo "make DESTDIR=$package_fs $target"
package_num=`expr $package_num + 1`
done
是否有一个与Python的zip函数等效的Unix工具,或者是一种通过索引从空格列表中检索元素的简便方法?谢谢.
解决方法:
使用数组:
#!/bin/bash
packages=($1)
targets=($2)
if (("${#packages[@]}" != "${#targets[@]}"))
then
echo 'Number of packages and number of targets differ' >&2
exit 1
fi
for index in "${!packages[@]}"
do
package="${packages[$index]}"
target="${targets[$index]}"
package_fs="debian/tmp/$package"
mkdir -p "$package_fs"
make "DESTDIR=$package_fs" "$target"
done
沃梦达教程
本文标题为:python-Shell脚本的Zip函数


基础教程推荐
猜你喜欢
- Python实现批量将MP3音频转为WAV格式详解 2023-08-09
- pytorch加载自己的数据集源码分享 2022-08-30
- 如何利用python turtle绘图自定义画布背景颜色 2023-08-04
- 停止使用Python 2:您需要了解的关于Python 3的内容| Hackaday 2023-09-04
- Python matplotlib绘图设置图例案例 2023-08-04
- Python sklearn库三种常用编码格式实例 2022-10-20
- Centos 7安装python3(PY3.6) 2023-09-04
- Python Get()函数用法介绍 2023-10-08
- 使用Python解析JSON详解 2023-09-04
- 详解pandas df.iloc[]的典型用法 2022-08-30