我碰到了下面的問題:我在寫一個Linux的bash腳本,執行以下操作:BASH:從字符串地帶換行符(讀取線)
- 讀線從文件
- 地帶從行的端部的
\n
字符剛讀 - 執行這就是在那裏
實施例的命令: commands.txt中
ls
ls -l
ls -ltra
ps as
bash的文件的執行應該得到的第一行,並執行它,但同時\n
目前,外殼只是輸出「找不到命令:ls」 劇本的那部分看起來像這樣
read line
if [ -n "$line" ]; then #if not empty line
#myline=`echo -n $line | tr -d '\n'`
#myline=`echo -e $line | sed ':start /^.*$/N;s/\n//g; t start'`
myline=`echo -n $line | tr -d "\n"`
$myline #execute it
cat $fname | tail -n+2 > $fname.txt
mv $fname.txt $fname
fi
評論你有我嘗試之前嘗試過的東西。任何解決方案我砸我的大腦在過去的幾個在這個時間......
你是否簡單地試過'$ line'? – knittl 2009-09-22 10:31:55
當然,我做到了。但它說:「命令沒有找到:ls 」 – 2009-09-22 10:36:44
所需要的只是:'myline =「$(echo -n」$ line「)」'(如果需要,使用反引號代替'$()') – jnylen 2009-09-22 12:38:07