在Linux下执行自动化任务难免需要写shell脚本
例如,打印所在路径
$ path=$(pwd)
$ echo 'I am at $path'
I am at $path
为何没有正确打印路径?
原来shell和python不同,单双引号有不同的含义
单引号' '
会让shell忽略其中的特殊字符,有点类似于python中的r' '
,自然会将$path原封不动打印出来
双引号" "
则让shell正确识别$等特殊符号,将变量内容正确打印
$ path=$(pwd)
$ echo "I am at $path"
I am at /usr/local/bin
注意:Shell脚本复制变量是不可以随意加空格的,加空格后变量会被识别为命令随后报错。