Questions tagged «shell»

Shell是Unix的命令行界面。您可以交互地在外壳程序中键入命令,也可以编写脚本来自动执行任务。使用此标记可解决适用于/ bin / sh和大多数兼容shell(ash,bash,ksh,zsh等)的问题。对于有错误的Shell脚本,请在此处发布之前在http://shellcheck.net中对其进行检查。

2
像ls这样的系统命令是如何创建的?
我对* nix有一些疑问。 我不知道哪种可执行文件是ls.sh或.ksh或其他类型的系统可执行文件,那是什么? 当我尝试查看ls命令的源代码是什么时,它表明某些内容不可读,* nix使用什么方法来创建这些类型的不可读文件,并且可以使我的文件类似于这些文件(例如ls-不可读)。

7
为什么我必须从已删除的目录CD出来?
在我的服务器上,我有一个目录结构,看起来像这样: /myproject/code 我通常与服务器建立ssh连接,并在该目录中“站立”: root@machine:/myproject/code# 当我部署新版本的代码时,代码目录将被删除,因此我将剩下: root@machine:/myproject/code# ./run -bash: ./run: No such file or directory 我发现的唯一解决方案是cd并返回: root@machine:/myproject/code# cd ../code root@machine:/myproject/code# ./run Running... 我可以避免吗?这有点奇怪。如果您有一个很好的解释,为什么会这样,我将不胜感激。

18
如何向后读取IP地址?
如果我们有以下字符串(IP地址):192.168.1.1 如何从此字符串派生(DNS反向记录形式),因此它将像1.1.168.192.in-addr.arpa使用Shell脚本一样显示?

3
使用^作为外壳元字符
我今天写了一个小脚本,其中包含 grep -q ^local0 /etc/syslog.conf 在审查过程中,一位同事建议^local0引用该词,因为^在Bourne外壳中意为“烟斗”。对此声明感到惊讶,我试图查找提及此内容的任何参考。我在互联网上没有发现任何暗示这是问题的信息。 但是,事实证明,bsh在AIX 7上的实现(声称是Bourne shell)实际上具有以下行为: > bsh $ ls ^ wc 23 23 183 $ ls | wc 23 23 183 我尝试过的其他“ Bourne shell”实现^都没有这种行为的方式(也就是说,根本不被认为是shell元字符)。我sh在CentOS(实际上是bash)和shFreeBSD(不是bash)上进行了尝试。我没有很多其他系统可以尝试。 这是预期的行为吗?哪些壳被认为^是管道元字符?


6
为什么不建议在标准命令上使用别名?
例如,我在~/.bashrc文件(或等效文件)中看到的通用别名是 alias rm='rm -i' 但是,我看到有人反对这样做,因为 别名可能在另一个系统上不存在,并且由于您对变得粗心rm,您无意中删除了一些重要内容。[1] 通过使用此别名,您实际上会训练自己在每个命令之后键入命令y或键入命令,这违背了整个目的。yesrm 还有其他理由对此建议吗?某些程序可能只是简单地调用rm而不是\rm,而对其进行别名可能会给他们带来麻烦? 我rm仅以一个示例为例,但是我也看到过其他类似别名cp或mv覆盖别名的命令。就个人而言,我正在慢慢地训练自己使用这样的别名代替rm -i: alias trash=`mv -v -t $HOME/.Trash`

3
如何删除交互式外壳中的路径的一部分?
bash和zsh中是否有删除路径中一个组成部分的快捷方式?例如,如果我键入ls ~/local/color/,并且光标位于行的末尾,是否有快捷方式删除该行color/的末尾?理想情况下,我需要vi模式和emacs模式下的解决方案
19 bash  shell  zsh 

5
如何在Shell脚本中注释多行命令?
调用长而繁琐的命令时,将它们写在shell脚本中是一个好习惯。有没有简单的方法可以在此类脚本中注释行?我尝试了以下方法,但均无济于事。 # the \ is also commented out, resulting in "command" and "--good-switch". command \ #--bad-switch \ --good-switch \ # seems to send an extra argument to the command command \ \ #--bad-switch \ --good-switch
19 shell 

2
如何测试以查看$ PATH中是否存在应用程序?
我正在尝试编写所有sh启动/环境脚本,以使用尽可能多的DRY和尽可能多的DRY:“可在我将其克隆到的每个* nix上使用”。这意味着确保如果我尝试运行不存在的代码,则代码会正常运行。为此,我需要能够测试程序是否存在。我知道如何测试文件是否存在,但是我不确定如何测试应用程序在路径内是否可执行。我宁愿使用$ PATH,因为其中一些需要在arch,ubuntu和centos上工作。有些可能安装在我的root目录中,没有我的系统上,有些可能没有安装,还有一些我安装在系统路径中。

16
简单的命令行计算器
问题: 我时不时需要在命令行环境中进行简单的算术运算。EG给出以下输出: Disk /dev/sdb: 256GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 106MB 105MB fat32 hidden, diag 2 106MB 64.1GB 64.0GB ext4 3 64.1GB 192GB 128GB ext4 5 236GB 256GB 20.0GB linux-swap(v1) 在命令行上计算分区3和5之间未分配空间大小的简单方法是什么? 我已经尝试过的 公元前 bc bc 1.06.95 …
19 shell  calculator 

4
为什么有些命令不从标准输入中读取?
我想知道什么时候应该使用管道,什么时候不应该使用管道。 举例来说,要终止处理pdf文件的某些进程,使用管道将无法执行以下操作: ps aux | grep pdf | awk '{print $2}'|kill 相反,我们只能通过以下方式做到这一点: kill $(ps aux| grep pdf| awk '{print $2}') 要么 ps aux | grep pdf | awk '{print $2}'| xargs kill 根据man bash(版本4.1.2): The standard output of command is connected via a pipe to the standard input of command2. …
19 shell  pipe  arguments  stdin 


3
Mac OS X:找不到dircolors吗?
我刚刚切换到Macbook Air。我使用自制软件安装了zsh,但是当我使用自己的(最初包含的)某些代码时,.zshrc出现了这样的错误.dircolors was not found。 下面是有问题的代码: zstyle ':completion:*' auto-description 'specify: %d' zstyle ':completion:*' completer _expand _complete _correct _approximate zstyle ':completion:*' format 'Completing %d' zstyle ':completion:*' group-name '' zstyle ':completion:*' menu select=2 eval "$(dircolors -b)" zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} zstyle ':completion:*' list-colors '' zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for …
19 shell  osx  coreutils 


1
使用/ usr / bin / time Shell命令提高%e精度
当我在shell中运行time命令时,time ./myapp我得到如下输出: real 0m0.668s user 0m0.112s sys 0m0.028s 但是,当我运行命令时,\time -f %e ./myapp我失去了精度,并且得到: 2.01s 如果我使用该%E命令,我也会以相同的方式失去精度。我如何更改它以再次获得更高的精度,但仍然只输出秒数? 我的研究基于以下Linux / Unix命令:时间和这个问题
19 shell  scripting  time 

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.