Я столкнулся с следующей проблемой: я пишу Linux bash script, который делает следующее:
- Чтение строки из файла
- Разделите символ
\n
с конца строки только что прочитанной - Выполните команду, которая там
Пример: Commands.txt
ls
ls -l
ls -ltra
ps as
Выполнение файла bash должно получить первую строку и выполнить его, но пока \n
присутствует, оболочка просто выводит "команда не найдена: ls"
Эта часть script выглядит так:
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
Прокомментировал, что у вас есть вещи, которые я пробовал, прежде чем спросить. Любые решения? Я размахиваю мозгами последние пару часов над этим...