在我的~/.bashrc文件中有两个定义:
commandA,这是更长路径的别名commandB,这是 Bash 脚本的别名我想用这两个命令处理同一个文件,所以我写了以下 Bash 脚本:
#!/bin/bash
for file in "$@"
do
commandA $file
commandB $file
done
Run Code Online (Sandbox Code Playgroud)
即使在退出会话并重新登录后,command not found当我运行此脚本时,Bash 仍会提示我输入两个命令的错误。
我究竟做错了什么?
我喜欢这个watch命令,但它有它的局限性。
我很想知道我是否可以模仿watchwith的功能less。我主要是寻找滚动浏览我的目录的能力,因为它通过运行脚本动态修改。
该xargs命令总是让我困惑。是否有一般规则?
考虑下面的两个例子:
$ \ls | grep Cases | less
Run Code Online (Sandbox Code Playgroud)
打印与“案例”匹配的文件,但将命令更改为touch将需要xargs:
$ \ls | grep Cases | touch
touch: missing file operand
Try `touch --help' for more information.
$ \ls | grep Cases | xargs touch
Run Code Online (Sandbox Code Playgroud) 是否可以在 Vim 中并排查看两个文件?如果是这样,我如何设置我的编辑器来做到这一点,有没有办法diff在 Vim 中的两个文件之间?
我知道:next和:prev命令,但这不是我所追求的。串联查看这两个文件真的很好。
当我执行more filenameand 时less filename,结果终端似乎非常相似。我可以导航和我相同的文件通过搜索(j,Space,/pattern等)。
我很难相信less是这样more,反之亦然。两者之间有什么区别吗?
我使用该watch命令查看我的目录内容随着脚本在其上运行而发生的变化(通过watch ls dir/)
这是一个很棒的工具,除了一旦条目数量填满屏幕的垂直长度,我似乎无法向下或向上滚动以查看所有内容。
有没有办法做到这一点?
我不知道如何通过这些man页面提供我自己开发的专业脚本(主要用 Bash 和 Perl 编写)。
我必须遵循什么程序,是否需要编写特定格式的文档才能执行此操作?
我要推出vim,而不是默认的vi编辑时,我打v在less。
是否有任何设置可以修改以允许我执行此操作?
Ubuntu 10.10 预装了 Perl 5.10.1,但奇怪的perldoc是它不是软件包的一部分。
$ perldoc
You need to install the perl-doc package to use this program.
Run Code Online (Sandbox Code Playgroud)
如何使此功能可用?
我希望能够在一行中对同一个文件运行多个命令。我目前这样做的方式是:
commandA file && commandB file && perl -ne '...' file
Run Code Online (Sandbox Code Playgroud)
我的直觉告诉我,应该有一种方法只提供一次文件名参数,然后通过管道xargs或类似的方式将它同时传递给两个命令:
find file | xargs commandA && xargs commandB && xargs perl -ne '...'
Run Code Online (Sandbox Code Playgroud)
当我尝试这个时,只有第一个命令运行。我怎样才能实现我想做的事?