请问如何控制Shell程序只执行其中的某一段,另一段不执行?
前提为不修改Shell程序的任何代码
比如test.sh:1 /bin/sh
2 export str1="abc"
3 export str2="123"
4 echo $str2
5 echo $str1
我现在只想执行第1,2,5行代码,3,4行不执行,请问如何在不修改Shell程序本身代码的前提下实现这个功能啊?因为这个板块比较热,所以在这里问这个问题了,如有打扰,请多原谅,请各位帮帮忙,谢谢

解决方案 »

  1.   

    你都知道要执行拿几行了还不容易,建个临时文件 temp.sh,把那几行拷进去执行不就行了
      

  2.   

    没法很好的控制流程,要不就吗.SH分成几个文件执行,或者将.SH读入`~然后在相关的地方加入注释字符,保存后在运行~~觉得最合适的应该是 执行的时候传参数进去~在SH里面根据不同参数分类处理
      

  3.   

    自己写各程序,把你的shell文件读出来,根据你的要求创建新的shell文件,并执行
      

  4.   

    定义一个临时变量flag,初始化一个值,比如“0”。
    执行1,2,5时,flag = 1;
    然后在3,4前判断一下。
    -------------------------------------------
    我做shell的时候,发现是这种思路。。
      

  5.   

    谢谢楼上几位了,你们提供的方法之前都考虑过,基本上就两大类型,修改shell本身,或者外面再套一层shell,在执行的时候根据原shell,动态生成一个临时shell(把不需要运行的部分去掉),然后执行临时shell,但是都不太符合要求,不能修改shell本身,并且执行对象唯一,呵呵,可能太苛刻了,感觉几乎不可实现,在此还是谢谢各位