shell读取文档中的命令并执行

今天想到一个方法,将要执行的全部的命令写到一个文档中,使用一个脚本顺序读取并执行,脚本大致内容以下:bash

#!/bin/bash
run_Dir=$(cd $(dirname $0);pwd)crontab

for i in `cat ${run_Dir}/run_order.txt`
do
  $i
done文档

文档中的命令以下:字符串

/bin/cat /etc/crontab
/bin/cat /etc/rc.local字符串处理

结果报出错误:file

/bin/cat: No such file or directory循环

发现for取每行数据是以tab或空格键来截取的,并非读取真正的每一行,在循环开始和结束添加程序

SAVEIFS=$IFS  
IFS=$'\n' 方法

。。。数据

IFS=$SAVEIFS

再次运行结果发现仍是报错

/bin/cat /etc/crontab: No such file or directory

查找缘由,认为程序应该是将内容当成文本处理了,并无做为命令来执行,修改$i =》 $($i),发现仍是报错:/bin/cat /etc/crontab: No such file or directory,

$()未起做用或者仍是当成字符串处理,修改 $i => eval $i  程序正确运行

相关文章
相关标签/搜索