shell初级

1. 读取文件

参考:
在while read line里怎样保留行首的空格

作用域、双引号

两种写法的变量作用域不同

  • 方法1:

会自动消除行首空格,do中的变量外部不能拿到

while read line
do
    echo "$line" #不能保留行首空格
    str1=${str}"$line""\n" #拼接字符串,但是str1不能在while外得到    
done < testDate.txt
echo $str
  • 方法2:

外部可以拿到str变量,$line会保留原样输出

for line in `cat testDate`#反引号,表示命令
do
    str=${str}"$line""\n"
    echo "$line"
done

注意:是否加双引号很有讲究。
1. cat testDate这里就不能加双引号,加了以后整个文件就成了一个字符串了。
2. $line是需要加"""$line",表示原样输出。

反引号

表示执行命令,与$()

VAR=`java -jar "$JAR_PATH" "$str"`
或
VAR=$(java -jar "$JAR_PATH" "$str")

分隔符

参考
shell IFS区别及使用

分隔符作用在给个循环前边,如for

IFS_BAK=$IFS # 备份IFS
IFS=$'\n' #以\n分隔
...
IFS=$IFS_BAK
IFS='\n'  //将字符\和字符n作为IFS的换行符。
IFS=\n //与上面一样。
IFS=$'\n' //正真的使用换行符做为字段分隔符。

//如果IFS='\n':;"
//这个赋值会将反斜杠、n、冒号、分号和双引号作为字段分隔符。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值