报错处理:sh: 1: Syntax error: “(“ unexpected

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了报错处理:sh: 1: Syntax error: “(“ unexpected相关的知识,希望对你有一定的参考价值。

1 问题描述

 也是一个很简单的脚本

import os
for i in range(48):
  print(i)
  s='python3 test.py --list=list(range('  +str(i)+  ')) '
  os.system(s)

报的错是sh: 1: Syntax error: "(" unexpected

2 分析原因

        linux路径中存在字符分别是空格、左括号、右括号、 &时会出现这个问题:
        python在调用os.system()命令或者command.getoutput()等等系统调用函数时,如果直接把路径传进去,就会报这个错误。
        python使用系统调用的正确姿势应该先对路径进行转义符转移

3 解决方法

import os
for i in range(48):
  print(i)
  s='python3 test.py --list=list\\(range\\('  +str(i)+  '\\)\\) '
  os.system(s)

以上是关于报错处理:sh: 1: Syntax error: “(“ unexpected的主要内容,如果未能解决你的问题,请参考以下文章

同一脚本sh 脚本名 报Syntax error: "(" unexpected而./脚本名不报错,求解!!

解决Linux下编译.sh文件报错 unexpected operator Syntax error: word unexpected

linux shell脚本 总报错sh11-2.sh: 9: Syntax error: "(" unexpected

Linux执行sh脚本报错: Syntax error: Bad fd number

Linux执行sh脚本报错: Syntax error: Bad fd number

Linux执行sh脚本报错: Syntax error: Bad fd number