是这样的,我的老师出了份功课给我们,其中一项是要求我在限定指令和个数下达到他的要求,我用自己的方法做了一下可以做出来,但是超过老师给的指令和个数,所以来这边问一下思路
题目:用alias定义一个新的指令,其格式如下:
alias l='__1__;__2__;__3__'
目录下有个三种类行档案,第一种描述当前目录的档案(contents),第2种为判断是否曾经进入这资料夹的档案(用档名判断),第3种为代表某些物件的档案(仅有档名没有内容)
__1__:如果第一次进入这目录,会有档案9,如果曾经进去过就是1,9的话就印出contents档案内容前九行,1的话印出contents第一行
__2__:如果该目录下有可符合要求的物件就印出:There are 物件名称,没有就印没有
__3__:把档案9改成档案1
老师的解法限制是:ls*1, echo*1, mv*1, heads*2, &&*2
__3__:第3个很好解决,mv ./9 ./1 2> /dev/null就可以
__1__:第一个很明显用heads -n 9 contents和heads -n 1 contents,但是我用ls 9判断有没有这档案的话就用掉一个ls,不能印__2__的可捡取物件,这是我头痛的地方,另外我这边还用||来判断ls 9有没有成功,也超出范围
__2__:这个我本来想问的,但是後来做出来了,但是用掉了一个ls
各位有什麽好想法吗QQ
题目:用alias定义一个新的指令,其格式如下:
alias l='__1__;__2__;__3__'
目录下有个三种类行档案,第一种描述当前目录的档案(contents),第2种为判断是否曾经进入这资料夹的档案(用档名判断),第3种为代表某些物件的档案(仅有档名没有内容)
__1__:如果第一次进入这目录,会有档案9,如果曾经进去过就是1,9的话就印出contents档案内容前九行,1的话印出contents第一行
__2__:如果该目录下有可符合要求的物件就印出:There are 物件名称,没有就印没有
__3__:把档案9改成档案1
老师的解法限制是:ls*1, echo*1, mv*1, heads*2, &&*2
__3__:第3个很好解决,mv ./9 ./1 2> /dev/null就可以
__1__:第一个很明显用heads -n 9 contents和heads -n 1 contents,但是我用ls 9判断有没有这档案的话就用掉一个ls,不能印__2__的可捡取物件,这是我头痛的地方,另外我这边还用||来判断ls 9有没有成功,也超出范围
__2__:这个我本来想问的,但是後来做出来了,但是用掉了一个ls
各位有什麽好想法吗QQ