我发现这个有用的命令bind -x '"\C-r"':reset可以清除终端,但我想制作一个简单的 bash 脚本:
#!/bin/bash
bind -x '"\C-r"':reset
Run Code Online (Sandbox Code Playgroud)
输出:
alfred@alfred-laptop:~/bash$ ./bind
./bind: line 2: bind: warning: line editing not enabled
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下:
warning: line editing not enabled意思?是否可以在 bash 中使用一行命令创建一个空数据库?
我的新手尝试失败了:
mysql -uroot $(create database mydatabase;)
我最终不得不
mysql -urootcreate database mydatabase;exit;通常,我们只需要传递一个参数:
echo abc | cat
echo abc | cat some_file -
echo abc | cat - some_file
Run Code Online (Sandbox Code Playgroud)
有没有办法传递两个参数?就像是
{echo abc , echo xyz} | cat
cat `echo abc` `echo xyz`
Run Code Online (Sandbox Code Playgroud)
我可以先将两个结果存储在一个文件中
echo abc > file1
echo xyz > file2
cat file1 file2
Run Code Online (Sandbox Code Playgroud)
但是我可能会不小心覆盖一个文件,这是不行的。这是进入一个非交互式脚本。基本上,我需要一种方法来将两个任意命令的结果传递给cat而不写入文件。
更新:抱歉,该示例掩盖了问题。虽然{ echo abc ; echo xyz ; } | cat似乎确实有效,但输出是由于echos 而不是cat.
一个更好的例子是{ cut -f2 -d, file1; cut -f1 -d, file2; } | paste -d,它不能按预期工作。
和
file1:
a,b …Run Code Online (Sandbox Code Playgroud) bash shell-script pipe command-line-arguments bash-scripting
当我在screen 中输入Ctrl-X X (sic) 时,会话被锁定。默认密码是多少?它是我用来登录 linux 的相同密码吗?
我问是因为:我通过 ssh 连接到几个不同的远程 linux 服务器,在各种风格的 linux/unix 下,并在所有这些服务器上运行屏幕会话。当我锁定屏幕会话并输入我的密码时,有时它可以工作,但在其他安装上它不起作用,因此我不知道密码是什么(所以我必须从外部“退出”该屏幕会话)。
那么,screen的默认密码是多少呢?
PS:我从不root。使用的屏幕版本:屏幕版本 4.00.03 (FAU) 23-Oct-06
在 bash 中:
java -jar jarfile1.jar &
java -jar jarfile2.jar &
Run Code Online (Sandbox Code Playgroud)
&符号允许您启动第一个程序,然后在第一个程序仍在运行时执行另一个程序。
我如何在 cmd 中执行此操作?(如果相关,则为 XP)。
如何使用 OS X 上的终端执行以下操作?
创建一个.inputrc在用户主目录中命名的文件,并将此行放入其中:
set completion-ignore-case On
我想获得比标准时间命令更多的信息,所以我想传递详细标志。info time举个例子time -v sleep 4,但是当我执行那个(在 bash 或 tcsh 中)我得到
% time -v sleep 4
-v: Command not found.
0.000u 0.000s 0:00.00 0.0% 0+0k 0+0io 0pf+0w
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我在 archlinux 和 ubuntu 中的终端中的 tab-completion 都有这个问题:
我有一个链接,该链接链接到我的主目录中名为“某物”的目录。现在,当我打开一个终端并想要对该目录做一些事情时,假设cd我会输入cd somet然后点击 Tab,因为现在“某事”是它完成的唯一可能性。
问题是某些东西后面没有斜杠(因为它是指向目录的链接,所以应该有斜杠)。我必须再按一次 Tab 才能出现斜线。
有没有办法解决这个问题,即。这样斜线就直接出现了?
我想使用 sendmail 向我发送东西,并想在 oneliner 中完成。
echo "mail content" | sendmail emailataddres.com
Run Code Online (Sandbox Code Playgroud)
发送它没有主题。
主题行必须在邮件内容之前,所以我正在寻找以下内容:
echo "mail content" | prepend "Subject: All that matters" | sendmail emailataddres.com
Run Code Online (Sandbox Code Playgroud)
sed 和 awk 往往很难使用和记住。
编辑:只是为了澄清:回声“邮件内容”只是一个说明性的例子。我需要能够将东西添加到来自任何来源的 stdout 流。例如:ifconfig、zcat 等。
我有一个脚本,我想每 x 秒运行一次,直到输出发生变化。通过一个简单的 while 或 until 循环,我知道如何使用 grep 检查特定字符串的输出,但我想要做的是继续迭代循环,直到当前迭代的输出不等于前一次迭代的输出。
我怎样才能在 bash 中实现这一点?
我得到的最接近的是下面,命令在每次迭代中运行两次,但这会产生额外的运行,因为 while 循环无法记住上一次迭代的输出。
while [ "$(command)" = "$(command)" ]; do sleep 10m; done
Run Code Online (Sandbox Code Playgroud)