问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

shell变量重新赋值问题

发布网友 发布时间:2022-05-12 06:56

我来回答

2个回答

热心网友 时间:2024-02-19 04:12

先不正面回答问题。先谈一个脚本中可疑之处。


在对文件filename.txt的每一行进行相同或有规律的处理时,常用2种方法。

常用的第一种方法是(就是文件内容输入重定向的方法):

    while read line
    do
        对$line的处理命令
    done < filename.txt

    

常用的第二种方法是(cat加管道的方法):

    cat filename.txt | while read line
    do
        对$line的处理命令
    done

针对这2种方法,举例如下:

$ cat filename.txt
Jack
Mike
Rose


$ cat a1.sh
#!/bin/bash
while read line
do
    echo "The name is $line"
done < filename.txt

$ cat a2.sh
#!/bin/bash
cat  filename.txt | while read line
do
    echo "My name is $line"
done

$ a1.sh    (或者运行./a1.sh)
The name is Jack
The name is Mike
The name is Rose

$ a2.sh     (或者运行./a2.sh)
My name is Jack
My name is Mike
My name is Rose


你在上面所提供的脚本中,cat加管道的方法(cat  filename.txt |  while...)、文件内容输入重定向的方法(...done < filename.txt )同时使用了,可能不算是问题,但几乎没有同时使用的。


下面言归正传。

下面的例子,一个输出flase, 一个输出true,看完例子就知道答案了:

$ cat filename.txt
Jack
Mike
Rose

$ cat b1.sh
#!/bin/bash
bl=false
cat  filename.txt | while read line
do
    bl=true
    echo "x=$bl"
done
echo $bl

$ cat b2.sh
#!/bin/bash
bl=false
while read line
do
    bl=true
    echo "x=$bl"
done < filename.txt
echo $bl

$ b1.sh    (或者运行./b1.sh)
x=true
x=true
x=true
false

$ b2.sh    (或者运行./b2.sh)
x=true
x=true
x=true
true

  供参考,谢谢!    

热心网友 时间:2024-02-19 04:12

./表示执行当前目录下某个可执行文件,这个文件不一定是bash脚本,但是sh方式就只能执行shell脚本,如果一个二进制可执行程序你用sh ./binExample这种方式执行,会报错的。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我想问扣扣邮箱在哪里 求几道奥数题的答案(算数的)要简便得算哈 能不能给我六十道五年级奥数题.要答案 六十道五年级奥数题? 比亚迪和哪国合资的车 入党政审有什么步骤? 请问邮箱在哪里我怎么找不到 夫妻相克表太准了 夫妻相克会离婚吗? 夫妻相克表太准了夫妻五行相克化解方法 无法登录学信网怎么办? 有好看的韩国剧么?要新的拜托了各位 谢谢 shell脚本怎样把一个文件的内容赋值给一个变量 shell脚本 变量动态赋值问题 求《郎在远方》百度云高清资源在线观看,秀爱主演的 在shell中变量赋值有四种方法,其中name=12的方法哇 想看2008年上映的由秀爱主演的郎在远方免费高清资源 shell程序中,对用户变量赋值有哪些方式 女友推荐看《郎在远方》是什么意思,好看吗 求一部韩国战争片 求 郎在远方 百度云免费在线观看资源 韩国电影《郞在远方》是不渝爱情吗? 请问路由器这里四条线分别插哪个接口啊? 郎在远方的剧情简介 路由器四个线怎么装 有没有要竹签香的?我在家开了一个佛香加工厂。许昌 bejeweledhtml5效果是怎么做出来的? 潍坊万丰新材料科技有限公司怎么样? 我是刚学做佛香的,为什么佛香在晾晒是会开裂呢?没有暴晒。我做的是竹签香。 佛香为什么会裂 什么是消烟剂 高分求助08年的韩剧国语电影名字! shell中如何把一段指令的结果赋值给变量? 如何给shell脚本变量赋值,gbase数据库查询的结果 shell脚本里赋值运算符 =,:=,+=,?=的区别 关于韩剧、日剧。。哪位给额回答哈!拜托啦~~ 李俊益的介绍 shell中分别给null和unset的变量赋值问题 如何在shell中把当前路径赋值给一个变量 那位朋友知道电影《家在远方》的观看地址啊?请告诉我一下,我找了半年了 如何把shell脚本的变量赋值给sql语句作为条件或插入数据的值? 找一类电影,谢谢~(题目就要加长版。。。) 所有二战和越战的电影((美国好莱坞的) cacharel是什么牌子包包 欧兰雅包包是品牌吗? 急!可追加!!!关于cacharel amor amor香水,请问,几年前买的老版和现在买的新版味道有什么区别么? cacharel Anais Anais 的香水怎么样阿? 能介绍一下下面这几款香水的特点吗?Cacharel ,Lancome,Paloma Picano, 食品企业最常见的管理体系有哪些? 欧莱雅公司旗下品牌都有什么啊? ISO的那个管理体系比较齐全?