Shell学习

Shell脚本命令的工作方式有两种:交互式和批处理。
交互式:用户每输入一条命令就立即执行
批处理:由用户事先编写好一个完整的Shell脚本,Shell会一次性执行脚本中诸多的命令。

使用shell,要使用bash作为命令行终端解释器。
#!/bin/bash

Shell脚本文件的名称理论上可以任意,但为了区分,建议加上.sh后缀,以示是一个脚本文件。

运行shell脚本的两种方式:bash和./

其内设了用于接收参数的变量,变量之间可以用空格分割。
$0-对应当前shell脚本程序的名称
$#-参数的个数
$*-所有位置的参数值
$?-上一次命令的执行返回值(若为0,则成功;若1-255,则失败)
$1,$2...$n-对应第n个位置的参数值

【遇到的bug】:
原语句:$ foo=$'5\r'; echo $((5+foo))
")syntax error: invalid arithmetic operator ( error token is"
原因:windows中,换行标记为\r\n, linux中为\n
windows里面,  "\r"成为 CR, "\n"为 LF.
shell的运算符 $() 会去掉末尾的"\n", 这样的话,就剩下 "\r". "\r"会导致标题里的错误。
解决方法:
$ foo=$'5\r'; echo $((5+${foo//$'\r'}))
或者$ foo=$'5\r'; echo $((5+$(tr -d '\r' <<< "$foo")))

输出返回值:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值