用户输入选择头或尾命令

时间:2012-10-22 16:45:01

标签: bash shell tail head

我想通过命令行提示用户&询问需要使用head或tail从数据文件中删除哪些特定行。我的脚本将使用输入作为head和tail命令的变量使用head和tail。这就是我到目前为止的错误信息:

echo -n "What rows need to be cut from your data file: "
read before
read after
head -n $before /home/rent_list
tail -n $after /home/rent_list 

错误讯息:

-bash: ./rent_list: bin/bash: bad interpreter: No such file or directory

更新:这就是我现在所得到的:

 What rows need to be cut from your data file: 4

Mack Tools  Milwaukee Wisconsin mj414@yahoo.com 414 2248893
Terry Tools Orlando Florida 407@yahoo.com 407 2439812
Park Tools  Riviera Beach Florida tp123@hotmail.com 516 5370923
Bike Tools  Orlando Florida baptiste41@gmail.com 407 3420983
tail: /home/renter_list: invalid number of lines

1 个答案:

答案 0 :(得分:4)

错误消息似乎是说您的脚本以#!bin/bash而不是#!/bin/bash开头(也就是说,您在/之前错过了bin/bash


更新:您的新错误消息是因为您没有输入号码。您有echo,后跟两个read。对于第一个read,您输入的是4,但是对于第二个,您只是按Enter键。所以tail命令是tail -n /home/rent_list

如果要对两个命令使用相同的编号,可以写:

echo -n "What rows need to be cut from your data file: "
read num_rows
head -n $num_rows /home/rent_list
tail -n $num_rows /home/rent_list