我想为每个匹配运行一次 java 命令ls | grep pattern -。在这种情况下,我想我可以做,find pattern -exec java MyProg '{}' \;但我对一般情况很好奇 - 有没有一种简单的方法可以说“为每一行标准输入运行一次命令”?(在鱼或bash中。)
我有一个前段时间设置的 Linux 实例。当我启动并登录时,因为root我设置了一些环境变量,但我不记得或找不到它们来自哪里。
~/.bash_profile、/etc/.bash_rc和所有启动脚本。find也grep没有用。我觉得我一定是忘了看某个明显的地方。有什么技巧可以解决这个问题吗?
我发现自己重复了很多:
mkdir longtitleproject
cd longtitleproject
Run Code Online (Sandbox Code Playgroud)
有没有办法在一行中完成而不重复目录名称?我在这里狂欢。
我有一个问题,如果我在 bash 中输入很长的命令,终端将无法正确显示我输入的内容。我希望如果我有如下命令:
username@someserver ~/somepath $ ssh -i /path/to/private/key
myusername@something.someserver.comRun Code Online (Sandbox Code Playgroud)
该命令应呈现在两行上。相反,它通常会环绕并开始写在我提示的顶部,有点像这样:
myreallylongusername@something.somelongserver.comh -i /path/to/private/keyRun Code Online (Sandbox Code Playgroud)
如果我决定返回并更改某些参数,则不知道光标会出现在哪里,有时在提示的中间,但通常在我正在输入的行上方。
当我Up执行上一个命令时会发生额外的乐趣。我已经在 gnome-terminal 和 terminator 以及 i3 和 Cinnamon 上尝试过这个。有人建议这是我的提示,所以这里是:
\[\033[01;32m\]\u:\[\033[01;34m\] \W\033[01;34m \$\[\033[00m\]Run Code Online (Sandbox Code Playgroud)
Ctrll, reset, 并且clear都按照他们说的做,但是当我重新输入命令或Up发生相同的事情时。
我检查并checkwinsize在 bash 中启用。这发生在 80x24 和其他窗口大小上。
这只是我学会忍受的东西吗?有什么我应该知道的魔法吗?我已经决定只使用一个非常短的提示,但这并不能解决问题。
There are stopped jobs.有时我尝试退出 bash shell 时会收到消息。这是 python 2.x 中可重现的场景:
这是一些真实世界的终端输出:
example_user@example_server:~$ python
Python 2.7.3 (default, Sep 26 2013, 20:03:06)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Run Code Online (Sandbox Code Playgroud)
ctrl+z
[1]+ Stopped python
example_user@example_server:~$ exit
logout
There are stopped jobs.
Run Code Online (Sandbox Code Playgroud)
bash 没有退出,我必须exit再次退出 bash shell。
exit杀死停止的工作吗?exit两次)如何在命令行中向后删除单词?我真的习惯于某些编辑器使用Ctrl+删除最后一个“单词” Backspace,我也希望在命令行中使用该功能。
我现在正在使用 Bash,虽然我可以向后跳一个词然后向前删除一个词,但我宁愿将其作为快捷键,或将事件作为Ctrl+ Backspace。
怎样才能做到这一点?
有没有什么简单的方法可以将命名参数传递(接收)给 shell 脚本?
例如,
my_script -p_out '/some/path' -arg_1 '5'
Run Code Online (Sandbox Code Playgroud)
并在内部my_script.sh将它们接收为:
# I believe this notation does not work, but is there anything close to it?
p_out=$ARGUMENTS['p_out']
arg1=$ARGUMENTS['arg_1']
printf "The Argument p_out is %s" "$p_out"
printf "The Argument arg_1 is %s" "$arg1"
Run Code Online (Sandbox Code Playgroud)
这在 Bash 或 Zsh 中可能吗?
假设我在 bash 中有以下别名 - alias ls='ls --color=auto'- 我想在ls没有选项的情况下调用普通。这样做的唯一方法是取消别名,执行命令然后再次别名吗?或者有一些漂亮的技巧或解决方法?