运行Centos8。
下面是我当前的(微型)脚本:
#!/usr/bin/env bash
x=$((($2-$1)+1))
head -n $2 $3 | tail -n -$x作为输入的示例:
sh script.sh 7 10 /etc/passwd我想要得到的是/etc/passwd的第7-10行。
它应该相当简单,因为只需要做
head -n 7 /etc/passwd | tail -n -4完美地返回这4行代码。
但是,使用$x (从第二个数字减去第一个数字加1获得输入)会失败。每当我运行这段代码时,我都会得到这样的错误:
tail: invalid number of lines: ‘4\r\r’根据我的理解,这意味着代码不接受我所做的小数学中的$x输入,并认为它是带有两个尾随空格的4?
我该如何着手修复这个问题,以便列出/etc/password的四行?
发布于 2020-02-10 04:43:42
第三行有个问题
#!/usr/bin/env bash
x=$((($2-$1)+1))
head -n $1 $3 | tail -n -$x这需要说$1,而不是$2。
代码行的结尾是Mac,而不是Linux。
https://stackoverflow.com/questions/60141060
复制相似问题