linux 执行命令后结果赋值给变量的一个坑,反斜杠

这是原hive语句,作用是将字符串中的英文句号替换成空
如果在hive shell里执行,需要在英文句号前加两个反斜杠

select regexp_replace(‘1.0.0’,’\\.’,”) from table_a limit 10
linux执行命令后结果赋值给变量,有两种方法
1. 第一种比在hive shell里多一倍的反斜杠
result=$(hive -e”select regexp_replace(‘1.0.0’,’\\\\.’,”) from table_a limit 10”)
2.第二种用“`”包裹命令,这时需要比第一种用$()包裹多一倍的反斜杠
result=`hive -e”select regexp_replace(‘1.0.0’,’\\\\\\\\.’,”) from table_a limit 10”`
如果只是要在shell里执行命令,需要四个反斜杠
【linux 执行命令后结果赋值给变量的一个坑,反斜杠】hive -e”select regexp_replace(‘1.0.0’,’\\\\.’,”) from table_a limit 10”

    推荐阅读