Python 和 shell 的基础语法的区别

1.变量、字符串、其他数据类型

python

  • python定义和使用只需要使用变量名
  • python 比较运算符(>|<|==|>=|<=|!=|is|is not)
  • python 逻辑运算符 (and | or | not )

shell

  • shell定义变量只需要变量名,而使用变量的值则需要加${}
  • 逻辑非(!)、逻辑与(&&)、逻辑或(||)
  • 与字符串判断相关的 test 选项:==、>、< 在大部分编程语言中都用来比较数字,而在 Shell 中,它们只能用来比较字符串,不能比较数字,判断数字的大小关系:‐eq(等于),‐ne(不等于),‐gt(大于),‐ge(大于等于),‐lt(小于),‐le(小 于等于)

2.变量的作用域

python

  • 内置作用域 (global变量变成全局变量 )
  • 全局作用域
  • 嵌套作用域

shell

  • 全局变量和局部变量对于父/子Shell的区别:
    1)在Shell脚本中,全局变量是在脚本级别定义的变量,它们在当前Shell进程中有效,并且可以被该进程中的所有子进程访问
    2)在Shell脚本中,局部变量通常是通过local关键字定义的,它们的作用域仅限于定义它们的函数内部
    3)在Shell脚本中,环境变量和全局变量通常划等号,它们在整个系统范围内都是可访问的,包括在子shell中也能使用‌。环境变量通常是通过export命令定义的自定义变量或Bash内置的环境变量‌
  1. 逻辑判断

python

例如: if、elif、else 语句的最后都有冒号":",代码块"由具由相同缩进量的若干条语句组成"

shell

1. if condition;  then
   statement(s)
   fi   
(在Shell脚本中,test是一个命令,用于检查某个条件是否成立。在if语句中,[ ]是test命令的另一种表现形式,两者可以互换使用)
2. case expression in     # “pattern” 可以匹配正则                        
   pattern1)
     statement1
     ;;
   pattern2)
     statement2
     ;;
   pattern3)
     statement3
     ;;
   *)
     statementn
   esac
3. while condition  # 无限循环的写法 " while : "  或者 "while true " 
   do
     statements
   done
4. until condition   # 当判断条件不成立时才进行循环,一旦判断条件成立,就终止循环。
   do
     statements
   done
5. for variable in value_list     # 可以直接给出具体的值或给出取值范围
   do
     statements
   done
6. select variable in value_list   #取值列表 value_list 中的内容会以菜单的形式显示出来,用户输入菜单编号,就表示选中了某个值
   do
     statements
   done 
posted @ 2025-06-05 16:23  maroon_六  阅读(56)  评论(0)    收藏  举报