今天想到一個方法,將要執行的全部的命令寫到一個文檔中,使用一個腳本順序讀取並執行,腳本大致內容以下: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 程序正確運行