hylan:shell脚本鸡肋--基本脚本

2024-05-02 21:58
文章标签 基本 shell 脚本 鸡肋 hylan

本文主要是介绍hylan:shell脚本鸡肋--基本脚本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  1. ${variable} 形式引用变量   额外的花括号通常用来帮助识别美元符后面的变量名。
  2. 命令替换 的两种方法:第一种 反引号字符 `   例如:echo `date`     第二种 $()格式   例如:echo $(date)
  3. 为了引用当前目录下的文件,可以在shell中使用单点操作符 即(.)。
  4. today变量是被赋予格式化后的data命令的输出。这是提取日期信息生成日志文件名常用的一种技术。  例如:today=$(date +%y%m%d)         ls . -al > log.$today    在当前目录(.) 创建了一个文件:log.180320
  5. 反斜线 \ 允许shell脚本将美元符解读为实际的美元符,而不是变量。
  6. 引用一个变量值时需要使用美元符,而引用变量来对其进行赋值时则不要使用美元符。
  7. umask值只是个掩码,它会屏蔽掉不想授予该安全级别的权限。要把umask值从对象的全权限值中减掉。对文件来说,全权限的值是666(所有用户都有读和写的权限 即:rw-rw-rw-);对目录来说,则是777(所有用户都有读、写、执行权限  即:rwxrwxrwx)
  8. 输出重定向(将命令的输出重定向到文件):command > outputfile  新建或覆盖文件outputfile       command >> outputfile 新建或追加文件outputfile     输入重定向(将文件的内容重定向到命令):command < inputfile   例如:wc < log.180320-2  结果显示了文件log.180320-2 中的 行数 词数 和 字节数。 内联输入重定向(无需使用文件进行重定向 数据的开始和结尾文本标记必须一致):command << marker  date  marker
  9. 管道(管道了连接:将命令输出重定向到另一个命令) command1 | command2     linux实际上会同时运行这两个命令,在系统内部将它们连接起来。在第一个命令产生输出的同时,输出会被立即送给第二个命令。数据传输不会用到任何中间文件或缓冲区。 可以在一条命令中使用任意多条管道。也可以搭配使用重定向和管道来将输出保存到文件中。
  10. 数学运算 两个方法: expr命令 和 $[ operation ]    备注:bash shell数学运算符只支持整数运算,若要进行任何实际的数学计算,这是一个巨大的限制。
  11. bc(內建的bash计算器 浮点解决方案) 浮点运算是由內建变量 scale 控制的,将这个值设置成计算结果中保留的小数位数。scale 默认值是0。
  12. 在脚本中使用bc 基本格式:variable=$(echo"options; expression" | bc)   例如:
  13. marvin@marvin-pc:~/hylan$ var1=20;var2=3.14159
    marvin@marvin-pc:~/hylan$ var3=$(echo "scale=2;$var1 * $var2" | bc)
    marvin@marvin-pc:~/hylan$ echo $var3
    62.83180
  14. 内联输入重定向:marvin@marvin-pc:~/hylan$ variable=$(bc << EOF
    > options
    > statements
    > expressions
    > EOF
    > )
  15. 例如:
  16. marvin@marvin-pc:~/hylan$ var1=10.46
    marvin@marvin-pc:~/hylan$ var2=43.67
    marvin@marvin-pc:~/hylan$ var3=33.2
    marvin@marvin-pc:~/hylan$ var4=71
    marvin@marvin-pc:~/hylan$ var5=$(bc << EOF
    > scale=4
    > a1=($var1 * $var2)
    > b1=($var3 * $var4)
    > a1 + b1
    > EOF
    > )
    marvin@marvin-pc:~/hylan$ echo $var5
    2813.9882
  17. 如上,在bash计算器中创建的变量只在bash计算器中有效(a1和b1),不能在shell脚本中使用。
  18. 退出状态码 是一个0~255的整数值,在命令结束运行时由命令传给shell,可以捕获这个值并在脚本中使用。








这篇关于hylan:shell脚本鸡肋--基本脚本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/955221

相关文章

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

bat脚本启动git bash窗口,并执行命令方式

《bat脚本启动gitbash窗口,并执行命令方式》本文介绍了如何在Windows服务器上使用cmd启动jar包时出现乱码的问题,并提供了解决方法——使用GitBash窗口启动并设置编码,通过编写s... 目录一、简介二、使用说明2.1 start.BAT脚本2.2 参数说明2.3 效果总结一、简介某些情

基本知识点

1、c++的输入加上ios::sync_with_stdio(false);  等价于 c的输入,读取速度会加快(但是在字符串的题里面和容易出现问题) 2、lower_bound()和upper_bound() iterator lower_bound( const key_type &key ): 返回一个迭代器,指向键值>= key的第一个元素。 iterator upper_bou

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n

C 语言的基本数据类型

C 语言的基本数据类型 注:本文面向 C 语言初学者,如果你是熟手,那就不用看了。 有人问我,char、short、int、long、float、double 等这些关键字到底是什么意思,如果说他们是数据类型的话,那么为啥有这么多数据类型呢? 如果写了一句: int a; 那么执行的时候在内存中会有什么变化呢? 橡皮泥大家都玩过吧,一般你买橡皮泥的时候,店家会赠送一些模板。 上

FreeRTOS-基本介绍和移植STM32

FreeRTOS-基本介绍和STM32移植 一、裸机开发和操作系统开发介绍二、任务调度和任务状态介绍2.1 任务调度2.1.1 抢占式调度2.1.2 时间片调度 2.2 任务状态 三、FreeRTOS源码和移植STM323.1 FreeRTOS源码3.2 FreeRTOS移植STM323.2.1 代码移植3.2.2 时钟中断配置 一、裸机开发和操作系统开发介绍 裸机:前后台系

centos6一键安装vsftpd脚本

centos6一键安装vsftpd脚本 手动安装vsftpd参考教程:Centos下安装Vsftpd的图文教程 vsftpd脚本功能: 1.安装 (命令执行:sh xxx.sh)2.添加ftp用户 (命令执行:sh xxx.sh add)3.卸载vsftpd (命令执行:sh xxx.sh uninstall) 测试环境:centos6 x64 centos6 x86(测试centos7以

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚