加入收藏 | 设为首页 | 会员中心 | 我要投稿 桂林站长网 (https://www.0773zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

工业人工智能将如何为炼油行业提供动力

发布时间:2021-02-07 11:57:07 所属栏目:外闻 来源:互联网
导读:长句换行 在shell中为避免一个语句过长,可以使用进行换行 使用换行,在脚本执行过程中还是当做一行一个语句执行,不同于enter直接换行 注意: 前添加一个空格 。 后无空格直接换行。 /mysql/bin/mysql -h test_host -P 000 -u test_user -ptest_pa

长句换行

在shell中为避免一个语句过长,可以使用“”进行换行
使用“”换行,在脚本执行过程中还是当做一行一个语句执行,不同于enter直接换行

注意: 前添加一个空格 。 后无空格直接换行。
/mysql/bin/mysql -h test_host -P 000 -u test_user -ptest_password ;

shell操作mysql

下面案例为登录mysql,并选择操作数据库,之后进行导入数据

/mysql/mysql/bin/mysql -h test_host -P 000 -u test_user -ptest_password -e"use test_database; source data_faile; " # -e 代表执行sql语句

-u 用户名
-p 用户密码
-h 服务器ip地址
-D 连接的数据库
-N 不输出列信息
-B 使用tab键 代替 分隔符
-e 执行的SQL语句
退出脚本命令:exit

在退出脚本时使用不同的错误码,这样可以根据错误码来判断发生了什么错误。

在绝大多数 shell 脚本中,exit 0 表示执行成功,exit 1 表示发生错误。
对错误与错误码进行一对一的映射,这样有助于脚本调试。

命令:set -e 或者 set +e
set -e表示从当前位置开始,如果出现任何错误都将触发exit。相反,set +e表示不管出现任何错误继续执行脚本。

如果脚本是有状态的(每个后续步骤都依赖前一个步骤),那么请使用set -e,在脚本出现错误时立即退出脚本。
如果要求所有命令都要执行完(很少会这样),那么就使用set +e。

shell脚本调试
 

可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。

  • 函数定义[ function ] funname() { action; [return int;] }
  • 参数传递
    • 调用函数: fun_name 2 3 4
    • 函数中使用:和shell取用函数相同 $n $# $* $? 或者加上{}funWithParam(){ echo "第一个参数为 $1 !" echo "第二个参数为 $2 !" echo "第十个参数为 $10 !" echo "第十个参数为 ${10} !" echo "第十一个参数为 ${11} !" echo "参数总数有 $# 个!" echo "作为一个字符串输出所有参数 $* !"} funWithParam 1 2 3 4 5 6 7 8 9 34 73 echo $? # 判断执行是否成功
  • 函数返回值
    • return字样可存在也可不存在
    • return 只能为 return [0-255],此处的返回可作为函数执行的状态,通过$?获取的便是这个返回值
    • 如果不加return , 则默认最后一条语句的执行状态所为函数执行状态的返回值,如果最后一条语句执行成功,则$?为0,否则不为0
  • 使用函数返回值(Janusgraph图数据库官方启动服务脚本片段)
    • return返回的数字,只是作为函数执行状态的返回值,也就是接下来$?获取的值
    • 对于类似于下面的BIN=abs_path``语句,获取的是函数体内所有的echo、printf输出组合成的一个字符串 abs_path() { SOURCE="${BASH_SOURCE[0]}" while [ -h "$SOURCE" ]; do DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )" SOURCE="$(readlink "$SOURCE")" [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" done echo "test" echo "$( cd -P "$( dirname "$SOURCE" )" && pwd )" # 此函数的两个echo输出会组合成一个字符串作为下述BIN的值 }

BIN=abs_path # BIN赋值函数返回值,如果没有return,则函数中所有的echo、printf输出组合成一个字符串传入BIN
path=${BIN}/nodetool # 可直接使用

  1. #### 输入输出重定向
  2. 一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件:
  3. * 标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据。
  4. * 标准输出文件(stdout):stdout 的文件描述符为1,Unix程序默认向stdout输出数据。
  5. * 标准错误文件(stderr):stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息。
  6. 默认情况下,command > file 将 stdout 重定向到 file,command < file 将stdin 重定向到 file。
  7. 如果希望执行某个命令,但又不希望在屏幕上显示输出结果,那么可以将输出重定向到 /dev/null:
  8. **输入重定向**
  9. 1. bash.sh < file : 将脚本的输入重定向到file,由file提供参数
  10. **输出重定向**
  11. 1. bash.sh > file : 将脚本的输出数据重定向到file中,覆盖数据
  12. 2. bash.sh >> file : 将脚本的输出数据重定向到file中,追加数据
  13. 3. command >> file 2>&1 : 将 stdout 和 stderr 合并后重定向到 file
  14. #### 读取外部输入
  15. 命令:`read arg` (脚本读取外部输入并赋值到变量上)
  16. 在shell脚本执行到上述命令时,停止脚本执行并等待外部输入,将外部输入赋值到arg变量上,继续执行脚本
  17. #### 文件引用
  18. 引用其他的文件之后,可以使用其变量、函数等等,相当于将引用的文件包含进了当前文件
  19. 两种方式:
  20. 1. **.** file_pathfile_name
  21. 2. **source** file_pathfile_name
  22. #### 颜色标识
  23. ```shell
  24. printf "33[32m SUCCESS: yay 33[0mn";
  25. printf "33[33m WARNING: hmm 33[0mn";
  26. printf "33[31m ERROR: fubar 33[0mn";

输出结果:

(编辑:桂林站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读