我在 OSX Snow Leopard 上。
以下是全文grr.sh:
#!/bin/sh
echo wow
Run Code Online (Sandbox Code Playgroud)
当我尝试从终端运行它时:
$ grr.sh
-bash: grr.sh: command not found
$ /bin/sh grr.sh
wow
$ sh grr.sh
wow
$ bash grr.sh
wow
Run Code Online (Sandbox Code Playgroud)
好的。很公平。我会给它可执行权限,然后再试一次:
$ chmod +x grr.sh
$ grr.sh
-bash: grr.sh: command not found
$ chmod 755 grr.sh
$ grr.sh
-bash: grr.sh: command not found
Run Code Online (Sandbox Code Playgroud)
嗯。如果我明确使用 bash,也许它会起作用?我将文件的内容更改为:
#!/bin/bash
echo wow
Run Code Online (Sandbox Code Playgroud)
我得到了完全相同的结果。我能打破什么?!
最后一件事!如果你很好奇...
$ which sh
/bin/sh
Run Code Online (Sandbox Code Playgroud) 我有一个这样的目录
mkdir test
cd test
touch file{0,1}.txt otherfile{0,1}.txt stuff{0,1}.txt
Run Code Online (Sandbox Code Playgroud)
我想在目录中的某些类型的文件上运行一些命令,例如 ls ,并将 * (glob) 扩展到文件名的所有可能性。
echo 'file otherfile' | tr ' ' '\n' | xargs -I % ls %*.txt
Run Code Online (Sandbox Code Playgroud)
此命令不会扩展 glob 并尝试查找文字“file*.txt”
我如何编写一个类似的命令来扩展 globs?(我想使用 xargs 以便该命令可以并行运行)
实际上,我试图完成的是以下内容,其中 cmd1 需要一段时间才能运行(~1 分钟),而 cmd2 几乎在每次运行时立即返回:
必须编写脚本,因为它必须进入一个相当大的循环,该循环使用许多不同的参数运行 cmd1,然后对其他几个长时间运行的命令再次执行相同的操作。
我怎样才能做到这一点?
在“标准 BASH”上,双引号内是否有通配符?例如:
$ touch abc
$ ls "*abc*"
Run Code Online (Sandbox Code Playgroud)
会,还是不会在 bash 上工作?
有人告诉我 Ubuntu 附带了一个不符合 POSIX 或 BASH 的 bash 变体。真的吗?
我正在寻找一个 Bash 脚本,该脚本将进入目录列表并删除除最近创建的四个文件之外的所有文件。
我怎样才能做到这一点?
当您通过管道less传输某些内容时,程序通常会丢弃颜色代码,因为它不会输出到 TTY。因此,您必须添加--color=always选项才能使其工作。
ls -l --color=always | less
grep -R asdf --color=always | less
Run Code Online (Sandbox Code Playgroud)
更糟糕的是,有时甚至不支持该选项,因此实际上无法强制将颜色输出到管道。
有没有(相对)简单的方法来减少对 TTY 的模拟,这样我就不必--color=always在通过管道传输到每个程序时指定每个程序,并且它会在可能的情况下自动显示颜色输出?
我最近开始将我的 shell 脚本从使用反引号转移到括号来原位执行命令并在其他地方使用结果。例如:
for line in `cat file`
do
echo "$line"
done
Run Code Online (Sandbox Code Playgroud)
现在我使用括号,替换为:
for line in $(cat file)
...
Run Code Online (Sandbox Code Playgroud)
这两种方法之间的实际区别是什么,为什么认为括号替换比反引号更好?
我目前为我的开发环境切换到 iTerm2 + VIM。我注意到 iTerm2 的最新版本支持tmux并且有人使用tmux将窗口拆分为多个会话。我还注意到 iTerm2 具有开箱即用的选项,可以将窗口拆分为多个会话。例如,您可以通过使用 CMD+D 来垂直和水平拆分任意数量的会话。所以对我来说,您似乎可以使用这些选项完成相同的功能。我可能完全错了。
我的问题是:tmux在 iTerm2 上使用拆分选项有区别/好处吗?
可能重复:
说vimrc或screenrc,是什么rc意思?
linux里面有很多rc文件?
.bashrc .vimrc .gvimrc 等等
我很好奇 rc 是什么意思?我在 google 或 wiki 中找不到任何信息