Tag: bash

如何永远保存我的“别名”条目

当我输入“别名”时,我想永远保存我的别名命令,就像默认命令一样,所以每次离开我的bash时我都不会重新键入它们

如何编写将执行现有启动脚本的init脚本?

我正在尝试理解init进程 。 我有一个脚本,它启动3个后台进程(2个shell脚本和一个Java应用程序)。 它在命令行中运行得很好。 我想在启动时执行该脚本。 /etc/init.d/skeleton对我没有意义,因为它似乎正在寻找一个单一的过程。 而且大多数init脚本看起来都很复杂,我有点迷失了。 我真正想做的就是: #!/bin/bash /opt/myapp/bin/my_start_script 如果那只是在创业时发生,我会非常高兴。

我如何只获取grep中的数字?

我有这样的文件: other lines . . . blah blah blah (:34) 我希望在上面的文件中找到数字的出现。 我提出了: grep [0-9] filename 但这就是印刷整体: blah blah blah (:34) 相反,我只想要34 。 有没有办法这样做?

如何检查进程是否已经运行

我想检查已经运行的特定进程。 我对这个问答进行了评论。 但我没有得到任何具体的解决方案。 以下是我尝试的示例:我创建了abc.sh文件并在后台运行此脚本,如sh abc.sh & 。 现在这个文件在后台运行,我启动了ps aux | grep “abc” ps aux | grep “abc”命令。 以下是此命令的输出: prakash 3594 0.0 0.0 4388 820 pts/0 S+ 16:44 0:00 grep –color=auto abc 之后我停止运行abc.sh脚本并abc.sh相同的命令ps aux | grep “abc” ps aux | grep “abc”命令。 但我得到相同的输出像: prakash 3594 0.0 0.0 4388 820 pts/0 S+ 16:44 0:00 grep –color=auto abc […]

如何在没有终端模拟器的情况下访问bash?

说我不小心卸载了我系统上的每个终端模拟器: xterm , uxterm , gnome-terminal , guake等。有没有办法在没有终端模拟器的情况下访问bash ? 我能想到的一种可能的方法是创建和运行一个shell脚本,但除此之外,我可以获得一个交互式shell吗? 这纯粹是假设,但感谢所有答案!

如何列出所有可用的shell内置命令?

我们知道bash支持的buitin命令数量如下: $ type type cd help command type is a shell builtin cd is a shell builtin help is a shell builtin command is a shell builtin 我想获得所有可用的shell内置命令的列表 。 我如何通过命令行执行此操作?

‘apt-get’被弃用了吗?

最近,我见过很多人使用 sudo apt 代替 sudo apt-get 另外,Ubuntu一直告诉我用sudo apt安装东西 The program ‘foo’ is currently not installed. You can install it by typing: sudo apt install foo (记住,foo是占位符,而不是app) 所以,在社区中普遍使用apt而不是apt-get ,我开始认为apt-get已被弃用,不能再用于我的bash程序。 在我的bash程序中, 我必须用apt-get替换所有apt-get命令吗? 是不是apt-get危险? 我的课程还能运作吗?

在提示上显示一个新行

我想在每个提示上添加一个新行。 而不是光标在行上显示为name@machine:~$ _ , 我希望它在下一行,如: name@machine:~$ _ 谢谢。

Shell没有显示输入命令,“重置”工作,但发生了什么?

我的问题是Bash shell停止显示我输入的字符。 它确实读取了命令。 我已经遇到过这个问题很多次了,我不明白是什么原因引起的。 我知道如何解决这个问题,但当我“冒昧地”解决问题时,我真的不喜欢它。 我将描述我遇到这个问题的两种方式: 我正在运行一个特定的进程, http://pythonpaste.org/script/ ,有时当我停止它或者它中断时,控制权将被返回给shell。 当我然后在shell中输入命令时,我输入的字符不会显示出来。 当我按下输入时,命令被提交。 例如: 我输入“ls” 我只看到一个空的提示,仅此而已 我按回车键,我给出了一个文件列表,换句话说:执行命令 当我给出“重置”命令时,shell再次开始正常工作 发生这种情况的第二种方式是当我发出这样的命令: $ grep foo * -l | xargs vim 我使用grep查找具有特定模式的文件,然后我想打开grep产生的所有文件。 这就像一个魅力(尽管没有我希望的那么快)。 但是当我退出Vim时,我的shell停止显示我输入的字符。 重置命令可以解决问题。 我的猜测是,这两个问题都有一个潜在的原因,但我有点难以理解这个原因是什么。 搜索这个问题本身就有问题,因为描述有点模糊,没有硬搜索条件。 编辑 给予 stty –all 命令按照John S. Gruber的要求给出了以下输出(为了便于阅读而编辑了空格) speed 0 baud; rows 53; columns 186; line = 0; intr = ; quit = ; erase […]

sudo:source:找不到命令

我一直在更新bash的一些默认配置文件,并从我正在关注的教程中看到我可以使用以下命令重新加载新配置文件: source /etc/bash.bashrc 唯一的事情是 – 新环境变量仅供我当前用户使用 – 并且在使用sudo时被忽略。 当我关闭终端会话并重新加入时,它们才可用于sudo。 当我尝试使用时: sudo source /etc/bash.bashrc 我收到错误: sudo: source: command not found 是否有一种简单的方法可以加载sudo的新bash配置文件设置而无需关闭终端并重新启动? – 最初,我使用了一些引用变量的安装程序脚本。 我发现虽然我直接调用脚本时可以访问变量(虽然这会导致后来创建目录的问题,因为我需要root),但是使用sudo调用安装脚本不会。 我用这些简单的命令测试certificate了这一点: echo $ENV_VARIABLE sudo echo $ENV_VARIABLE 第一个输出变量的值,但第二个不输出任何值。