我遇到了以下问题:我正在编写一个 Linux bash 脚本,它执行以下操作:
- 从文件中读取行
\n
从刚刚读取的行尾剥离字符- 执行里面的命令
示例:commands.txt
ls
ls -l
ls -ltra
ps as
bash文件的执行应该拿到第一行,然后执行,但是此时\n
,shell只是输出“command not found: 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
评论说你有我在问之前尝试过的东西。有什么解决办法吗?在过去的几个小时里,我一直在为此绞尽脑汁……