echo 命令

echo   参数回至标准输出.显示文本行或变量,或者把字符串输入到文件
 echo [-n] [arguments]
 
 -n 禁止echo命令输出后换行
 -e 使转义符生效
  > 把一个串输出到文件中  如 echo "Great!" > file
  >> 追加到一个文件的末尾   如 echo "$LOGINAME them out at ‘date’ " >> file
  #‘date’  date是命令,但是我不知道是被什么符号包围着, $LOGINAME 是变量
           是执行命令的符号,也就是Tab上面的那个键。
    
 echo "what is your name:\c"   #\c不换行
 read name   #从键盘输入字符串
 echo $HOME #输出变量的值
 echo $RANDOM  bash里运行的随机数
 
echo  将参数送到输出设备上,显示完参数后,还会送一个换行符
 echo  会显示一个空白行
 echo -n 取消那个换行符
 echo -e 'a\tb\tc\nd\te\tf'  结果 a b c
 -e 启用反斜线控制字符的转换      d e f
 \t  \011 tab表格跳位键 
 \n  \012 换行键
  (⊙o⊙)… 结果与由预期不一致,选项-e也会显示出来……
 \b 向左删除一位
 
 
 问题:我在这里使用的选项参数好像都没有用,他们会被显示出来,就如同后面的所有字符是、都是参数一般
 还有在后面所带的参数 双引号和单引号 好像都一样? 单引号 中的所有meta均关闭, 双引号中大部分关闭,有保留
                                                  escape:\  反斜杠后面紧接的单一meta会被关闭 
 其次,在使用八进制和十六进制显示时 有些问题
 
 例  A=B\ C
  echo $A       结果:B C
  echo '"$A"'   结果: "$A"  在单引号中,$将被关闭
  echo "'$A'"   结果:'B C'   
 注意:①等号左右不能有空格②变量名称不能使用$、不能以数字开头③大小写有区别
 
 替换、扩充
 A=ls B=la   echo $A -$B  结果:ls -la 
 A=B:C  A=$A:D  echo $A 结果:B:C:D  :为区隔符号
 A=BC  A=${A}D  结果:BCD  {}将变量名称的范围明确定义
 
 export 设定变量是环境变量
 unset 取消一个变量,该变量将会是不存在
    上述两个命令都会根据 $a 的替换原则,设定或取消 替换后的结果
 当定义了一个变量,给该变量赋空值时,局部定义不会有意义,该变量的结果还是为空值
  当unset了这个变量,局部定义就有意义,该变量的值为局部定义的值
 str=
 var=${str=expr}
 echo $var   结果:
 echo $str   结果:

 unset str
 var=${str=expr}
 echo $var      结果:expr
 echo $str      结果:expr
 
 echo "1" > file.out 将字符串输出到文件 file.out 中,
  若file.out不存在,新建然后输入数据,若已经存在,则清空,然后输入数据
 echo "2" >> file.out  将字符串附加在file.out 中,不存在新建,存在附加

 

 

《shell十三问》说的下面的命令, 反正我是没执行成功的,先写在这,以后再说
 set -o noclobber 设定不能重写,即清空原有文件内容 
 echo "6" >| file.out 临时覆盖文件内容
 set +o noclobber 取消设定

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值