Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.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
Python 理解bash脚本_Python_Linux_Bash - Fatal编程技术网

Python 理解bash脚本

Python 理解bash脚本,python,linux,bash,Python,Linux,Bash,我是bash新手,希望了解这段代码试图做什么,如果做得不好或有错误,以及如何改进 COMMAND=$1 案例$COMMAND in “升级”) UPSCRIPT=`ls-t./assets/upgrade | head-n1` python./assets/upgrade/$UPSCRIPT | tee>>biglog.txt VERSION=$(echo$UPSCRIPT | awk-F.{print$1}') echo`date`$VERSION>/VERSION.txt 测试-e./art

我是bash新手,希望了解这段代码试图做什么,如果做得不好或有错误,以及如何改进

COMMAND=$1
案例$COMMAND in
“升级”)
UPSCRIPT=`ls-t./assets/upgrade | head-n1`
python./assets/upgrade/$UPSCRIPT | tee>>biglog.txt
VERSION=$(echo$UPSCRIPT | awk-F.{print$1}')
echo`date`$VERSION>/VERSION.txt
测试-e./artifacts&&rm-rf./artifacts
;;
“降级”)
DOWNSCRIPT=`ls-t./资产/降级| head-n1`
python./assets/grade/$DOWNSCRIPT | tee>>biglog.txt
VERSION=$(echo$UPSCRIPT | awk-F.{print$1}')
echo`date`$VERSION>/VERSION.txt
测试-e./artifacts&&rm-rf./artifacts
;;
*)
而read-r UPSCRIPT;做
python$UPSCRIPT | tee>>biglog.txt
VERSION=$(echo$UPSCRIPT | awk-F.{print$1}')
echo`date`$VERSION>/VERSION.txt
测试-e./artifacts&&rm-rf./artifacts
完成
  • 使用小写的变量名。对于环境和shell内部变量,建议使用大写
  • 使用
    $()
    而不是
    `…`
    。它的巢穴更好
  • 如果可能的话,使用参数扩展而不是在子shell中运行命令。速度快得多
  • 在脚本的逻辑不清楚的地方,我在代码中留下了注释
#/bin/bash
命令=$1
工件=/工件
中的大小写“$command”
(升级)
upscript=$(ls-t./assets/upgrade | head-n1)
python./assets/upgrade/“$upscript”| tee>>biglog.txt
版本=${upscript%.*}
echo$(日期)“$version”>。/version.txt
测试-e“$artifacts”和&rm-rf“$artifacts”#artifacts还是artifacts?
;;
降级)
downscript=$(ls-t./资产/降级| head-n1)
python./assets/grade/“$downscript”| tee>>biglog.txt
version=${downscript%.*}#upscript还是downscript?
echo$(日期)“$version”>。/version.txt
测试-e“$artifacts”和&rm-rf“$artifacts”
;;
*)
而read-r upscript;做
python“$upscript”| tee>>biglog.txt
版本=${upscript%.*}
echo$(日期)“$version”>。/version.txt
测试-e“$artifacts”和&rm-rf“$artifacts”
检查完毕,然后回来<代码>