Запуск Centos8.
Вот мой текущий (крошечный) скрипт:
#!/usr/bin/env bash
x=$((($2-$1)+1))
head -n $2 $3 | tail -n -$x
В качестве примера ввода:
sh script.sh 7 10 /etc/passwd
И что я попытка получить это строки 7-10 из /etc/passwd.
Это должно быть довольно просто, потому что просто выполнение
head -n 7 /etc/passwd | tail -n -4
Прекрасно возвращает эти 4 строки.
Однако, использование $ x (для получения ввода от второго числа, минус первое, плюс 1) не работает. Всякий раз, когда я запускаю этот код, я получаю эту ошибку:
tail: invalid number of lines: ‘4\r\r’
Что, насколько я понимаю, означает, что код не принимает ввод $ x из маленькой математики, которую я сделал, и думает, что его 4 с двумя пробелами в конце ?
Как мне go рассказать об исправлении этой проблемы, чтобы четыре строки в / etc / password были перечислены?