史莱克 发表于 2018-7-31 21:46:49

linux shell 问题

这段代码什么意思,麻烦帮忙每一行都写一下注释,谢谢

set -x
date=$1
#group=$2
label_path=../label
collect_path=../data_collection
out_path=../process_result/$1
correct_label_path=../correct_label_path
pack_data_path=../group_result
description_path=../description
info_path=../info
mkdir -p ${out_path}
mkdir -p ${info_path}
collect_path=$out_path
group_list=`ls $collect_path`
for sub_dir in $group_list
do
    if [ -d $collect_path"/"$sub_dir ]
    then
      group=$sub_dir
    fi
    label=${label_path}/${group}.txt
    bash label_checker.sh $label '\t' 2 3 500 correct
    tmp_label=${label}.correct
    mkdir -p ${corrrect_label_path}
    correct_label=${correct_label_path}/${group}.txt
    cp -f $tmp_label ${correct_label}
    echo $out_path
    #bash run.sh $group ${collect_path}/$group $correct_label $out_path
    python ./backend/fix_group.py $out_path $group $description_path $pack_data_path $info_path $date
done
    #python ./minio_test.py $bucket $source $day $collect_type $group $object_name $local_object

不二不幸福 发表于 2018-7-31 21:46:50

set -x
date=$1 #运行代码时所带参数
#group=$2
label_path=../label #设置的路径为上级目录的label文件夹
collect_path=../data_collection #设置的路径为上级目录的data_collection文件夹
out_path=../process_result/$1 #设置输出路径为上级目录的process_result文件夹中的$1文件夹
correct_label_path=../correct_label_path #该路径为上级目录下的correct_label_path文件夹
pack_data_path=../group_result #该路径为上级目录下的group_result文件夹
description_path=../description #该路径为上级目录下的description文件夹
info_path=../info #该路径为上级目录下的info文件夹
mkdir -p ${out_path} #创建一系列文件夹,路径为../process_result/$1
mkdir -p ${info_path} #创建一系列文件夹,路径为../info
collect_path=$out_path #赋值
group_list=`ls $collect_path` #`ls $collect_path`列出$collect_path路径下的所有文件
for sub_dir in $group_list
do
    if [ -d $collect_path"/"$sub_dir ]
    then
      group=$sub_dir
    fi
    label=${label_path}/${group}.txt
    bash label_checker.sh $label '\t' 2 3 500 correct
    tmp_label=${label}.correct
    mkdir -p ${corrrect_label_path}
    correct_label=${correct_label_path}/${group}.txt
    cp -f $tmp_label ${correct_label}
    echo $out_path
    #bash run.sh $group ${collect_path}/$group $correct_label $out_path
    python ./backend/fix_group.py $out_path $group $description_path $pack_data_path $info_path $date
done
    #python ./minio_test.py $bucket $source $day $collect_type $group $object_name $local_object

总之
mkdir 创建文件夹
../上级路径
cp拷贝
echo 输出

史莱克 发表于 2018-8-1 10:43:17

不二不幸福 发表于 2018-8-1 09:53
总之
mkdir 创建文件夹
../上级路径


倒数第二行,什么意思

xy123963 发表于 2018-8-1 15:52:18

倒数第二行是done,与前面的for相响应,for表示循环的开始,done表示循环的结束

史莱克 发表于 2018-8-1 16:31:22

xy123963 发表于 2018-8-1 15:52
倒数第二行是done,与前面的for相响应,for表示循环的开始,done表示循环的结束

python ./backend/fix_group.py $out_path $group $description_path $pack_data_path $info_path $date
这行

xy123963 发表于 2018-8-1 16:37:36

史莱克 发表于 2018-8-1 16:31
python ./backend/fix_group.py $out_path $group $description_path $pack_data_path $info_path $date
...

这是python的运行语句,运行 ./backend/fix_group.py 这个代码,$out_path,$group, $description_path,$pack_data_path,$info_path,$date表示输入fix_group.py的六个参数。这个代码具体的作用是什么,得需要看下结合fix_group.py里面的代码。

史莱克 发表于 2018-8-2 21:36:30

xy123963 发表于 2018-8-1 16:37
这是python的运行语句,运行 ./backend/fix_group.py 这个代码,$out_path,$group, $description_path ...

非常感谢,您能在帮我看下这段代码什么意思吗
# 6sku_event_1-300
event=$1
collect_path=$2
label_file=$3
out_path=$4
mkdir -p ./process_result
bash ./video_segmenter.sh \
      -i $collect_path \
      -m $label_file \
      -o ${out_path}/${event} \
      -d 100 -r 500 -f "jpg" -n 12

xy123963 发表于 2018-8-3 09:31:34

史莱克 发表于 2018-8-2 21:36
非常感谢,您能在帮我看下这段代码什么意思吗

这个代码的整个意思就是赋值变量,创建文件夹,然后运行./video_segmenter.sh代码,具体如下:
# 6sku_event_1-300
event=$1 #把输入的第一个值赋值给event
collect_path=$2#把输入的第二个值赋值给collect_path
label_file=$3#把输入的第三个值赋值给label_file
out_path=$4#把输入的第四个值赋值给out_path
mkdir -p ./process_result#在当前路径下创建process_result文件夹
bash ./video_segmenter.sh \#运行当前目录下video_segmenter.sh的代码
      -i $collect_path \#把前面定义的collect_path传递给代码中的i参数
      -m $label_file \#把前面定义的$label_file传递给代码中的m参数
      -o ${out_path}/${event} \#通过前面定义的out_path与event组合形成一个路径传递给代码中的o参数
      -d 100 -r 500 -f "jpg" -n 12#-d,-r,-f,-n的输入参数

可以先学习一下linux的基础语法,可能会对你有点帮助

史莱克 发表于 2018-8-6 09:41:57

xy123963 发表于 2018-8-3 09:31
这个代码的整个意思就是赋值变量,创建文件夹,然后运行./video_segmenter.sh代码,具体如下:
# 6sku_e ...

非常感谢,刚入职没人带,组长给了一个代码文件,让看,之前没有接触过 shell 语言,上周学了一下
页: [1]
查看完整版本: linux shell 问题