请教这个 bash shell 为什么直接输出本身,而不是输出参数的内容?

2018-06-30 17:24:58 +08:00
 pppguest3962

linux 新手。。。

有个想法,cat 一个文件内容,不会停屏,于是打算做个简单的 shell 辅助一下

[root@FTP /]$
[root@FTP /]$cat /usr/local/sbin/mcat.sh
#!/bin/bash
cat $0 | more
[root@FTP /]$mcat.sh /etc/rc.local 
#!/bin/bash
cat $0 | more
[root@FTP /]$

没有正常输出 rc.local 的内容,反倒是把 shell 脚本自己的内容给输出了。。。

除了这个脚本不能工作的问题外, 这里我其实想请教另外一个问题, yum 有没有什么工具包带个类似 cat 的命令, 能自动对文本内容分屏,又能对内容进行上配色?(就像 vim 命令工具那样?)

感谢解答!

2861 次点击
所在节点    Linux
12 条回复
kokutou
2018-06-30 17:25:55 +08:00
| more 吧
momocraft
2018-06-30 17:26:32 +08:00
$0 是脚本本身. $1 才是第一个参数. 调试时可以开头加一行 set -x
hanxiV2EX
2018-06-30 17:39:16 +08:00
二楼正解,遇到问题先自己 echo 出变量
BFDZ
2018-06-30 17:43:10 +08:00
less 可以分屏
pppguest3962
2018-06-30 18:23:34 +08:00
谢谢各位热心~~~!
@momocraft 感谢,想法达到了,是我搞错了$0 和$1。。。。

另问,有给内容输出上配色的好方法吗?
ysc3839
2018-06-30 18:32:44 +08:00
@pppguest3962 搜索 ANSI escape sequences
omph
2018-06-30 19:13:44 +08:00
dorothyREN
2018-06-30 19:15:24 +08:00
$1 了解一下
pppguest3962
2018-06-30 19:45:36 +08:00
@omph,好东西,已经用起来了。。。
CEBBCAT
2018-06-30 20:37:04 +08:00
@pppguest3962 #5 蠢萌蠢萌的,嘻嘻嘻
maomo
2018-06-30 20:52:05 +08:00
cat 的完美替代品 https://github.com/sharkdp/bat
abc612008
2018-07-01 14:47:47 +08:00
直接 more xxx 了解一下 233
比 more 更好用的 less 来了解一下 233

mcat.sh somefile -> less somefile

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/467087

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX