Questions tagged «bash»

与其他Bourne / POSIX shell相对,GNU的Bourne Again SHell特有的问题。对于一般关于Unix shell的问题,请改用/ shell标记。

3
-b在bash shebang中做什么?
我有以下bash脚本: #!/bin/bash -e egrep "^username" /etc/passwd >/dev/null if[ $? -eq 0 ] then echo "doesn't exist" fi 没有-e,该脚本将无法运行。什么是-e这个脚本呢?另外,$?在这种情况下该怎么办?
32 linux  bash 


2
kill,pkill和killall有什么区别
我熟悉kill命令,大多数时候我们只使用kill -9强制杀死一个进程,还有很多其他的信号可以使用kill。但是我不知道pkilland 的用例是什么killall,如果已经有kill命令。 这样做pkill并killall使用kill在执行命令?我的意思是说,它们只是包装器kill还是它们自己的实现? 我也想知道pgrep命令如何从进程名称中获取进程ID。 所有这些命令都使用相同的基础系统调用吗?从性能角度来看,哪个更快?

1
在什么情况下使用PS2,PS3,PS4作为提示?
当我登录到外壳程序时,我看到提示,其值存储在PS1中。 使用here-document语法时,我还遇到了另一个提示(但不知道是哪个提示): bc << HERE > 但这就是所有提示类型。到目前为止,我已经遇到了。哪种情况会引起不同的提示?

3
用花括号创建Bash子外壳
根据此,将花括号之间的命令列表导致在当前外壳上下文要执行的列表。没有创建子外壳。 用ps看到这个在行动 这是直接在命令行上执行的流程管道的流程层次结构。4398是登录外壳程序的PID: sleep 2 | ps -H; PID TTY TIME CMD 4398 pts/23 00:00:00 bash 29696 pts/23 00:00:00 sleep 29697 pts/23 00:00:00 ps 现在遵循直接在命令行上执行的花括号之间的流程管道的流程层次结构。4398是登录外壳的PID。类似于上面的层次结构,证明了一切都在当前的shell上下文中执行: { sleep 2 | ps -H; } PID TTY TIME CMD 4398 pts/23 00:00:00 bash 29588 pts/23 00:00:00 sleep 29589 pts/23 00:00:00 ps 现在,这是sleep流水线本身放置在花括号内时的流程层次结构(因此,花括号总共有两个级别) { …
31 bash  subshell 

7
编写bash脚本时与&&等效吗?
如果这是一个重复的问题,我提前致歉。在问这里之前,我确实做了搜索/检查的工作。 我很喜欢这样写单行代码: foocommand && foocommand2 && foocommand3 我的想法是,我只希望在前一个命令“成功”的情况下运行后续命令。 我正在编写一个冗长的脚本,这种单行代码是不可行的,因为它看起来给其他所有人带来了很多混乱的代码。 我想间隔命令并在脚本中在命令之间写注释。我该怎么做却仍然有&&等价的东西?
31 bash  centos  scripting 

5
如何使终端以粗体显示user @ machine?
我在一些屏幕截图(不记得在网络上的什么地方)中看到终端可以显示[username@machine /]$粗体字母。我也很期待得到这个,因为我总是发现自己在长输出中滚动,很难找到我命令后的第一行。 如何使用户名等加粗或着色?

4
在其他tty上启动进程
经过大约一个小时的谷歌搜索,我无法相信之前没有人真正问过这个问题... 因此,我在TTY1上运行了一个脚本。如何使该脚本在TTY2上启动任意程序? 我发现tty,它告诉您当前正在使用哪个TTY。 我发现writevt,它将单行文本写入不同的TTY。 我发现chvt,它更改了当前显示的TTY。 我不想显示 TTY2。我只希望主脚本继续正常执行,但是如果我手动切换到TTY2,则可以与第二个程序进行交互。
31 bash  tty 

7
从bash命令输出绘制直方图
我有以下输出: 2015/1/7 8 2015/1/8 49 2015/1/9 40 2015/1/10 337 2015/1/11 11 2015/1/12 3 2015/1/13 9 2015/1/14 102 2015/1/15 62 2015/1/16 10 2015/1/17 30 2015/1/18 30 2015/1/19 1 2015/1/20 3 2015/1/21 23 2015/1/22 12 2015/1/24 6 2015/1/25 3 2015/1/27 2 2015/1/28 16 2015/1/29 1 2015/2/1 12 2015/2/2 2 2015/2/3 1 2015/2/4 …
31 bash 

4
如果在执行过程中编辑脚本会怎样?
我有一个普遍的问题,这可能是对Linux中如何处理进程的误解的结果。 出于我的目的,我将定义一个“脚本”作为bash代码的片段,该片段保存到文本文件中,并且为当前用户启用了执行权限。 我有一系列脚本相互调用。为了简单起见,我将它们称为脚本A,B和C。脚本A执行一系列语句,然后暂停,然后执行脚本B,然后暂停,然后执行脚本C。换句话说,该系列步骤如下: 运行脚本A: 一系列声明 暂停 运行脚本B 暂停 运行脚本C 从经验中我知道,如果我运行脚本A直到第一次暂停,然后在脚本B中进行编辑,那么当我允许恢复执行时,这些编辑将反映在代码的执行中。同样,如果在脚本A仍暂停的状态下对脚本C进行编辑,然后在保存更改后继续执行,这些更改将反映在代码的执行中。 那么,这是一个真正的问题,有什么办法可以在脚本A仍在运行时对其进行编辑?还是一旦开始执行便无法进行编辑?

10
如果Python脚本被杀死或死亡,如何自动重启
我像这样在我的Ubuntu机器(12.04)中在后台运行Python脚本- nohup python testing.py > test.out & 现在,在某些情况下,我的上面Python script可能由于某种原因而死亡。 因此,我正在考虑使用某种cron agentin bash shell脚本,如果由于某种原因被杀死,它可以自动重新启动上述Python脚本。 这可能吗?如果是,那么解决此类问题的最佳方法是什么? 更新: testing.conf像这样创建文件后- chdir /tekooz exec python testing.py respawn 我在sudo命令下运行以启动它,但是我看不到使用ps ax在后面运行该进程? root@bx13:/bezook# sudo start testing testing start/running, process 27794 root@bx13:/bezook# ps ax | grep testing.py 27806 pts/3 S+ 0:00 grep --color=auto testing.py 知道为什么px ax没有显示任何内容吗?以及如何检查我的程序是否正在运行? 这是我的python脚本- #!/usr/bin/python while …
31 bash  shell  cron  python 

7
ASCII到二进制和二进制到ASCII转换工具?
哪一个将ASCII转换为二进制并将二进制转换为ASCII的好工具? 我希望有这样的东西: $ echo --binary "This is a binary message" 01010100 01101000 01101001 01110011 00100000 01101001 01110011 00100000 01100001 00100000 01100010 01101001 01101110 01100001 01110010 01111001 00100000 01101101 01100101 01110011 01110011 01100001 01100111 01100101 或者,更现实一些: $ echo "This is a binary message" | ascii2bin 01010100 01101000 01101001 01110011 00100000 01101001 …
31 bash  binary  ascii 

3
从存储在bash历史记录中排除某些命令
有没有什么办法,以排除类似的命令rm -rf,svn revert被获得存储在bash历史?实际上,尽管我无意去做,但我还是错误地发出了很多次,只是因为我做事很快,事情就发生了。因此,到目前为止,我已经失去了很多工作。


6
检查输入数字是否为整数
我正在尝试检查输入是否为整数,并且已经遍历了一百次,但是没有看到错误。las,它不起作用,它会触发所有输入(数字/字母)的if语句 read scale if ! [[ "$scale" =~ "^[0-9]+$" ]] then echo "Sorry integers only" fi 我玩过引号,但要么错过了它,要么什么都没做。我做错了什么?有没有更简单的方法来测试输入是否仅仅是INTEGER?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.