Questions tagged «shell»

术语“外壳”是指通常与Unix和Linux操作系统相关联的一类基于文本的交互式命令解释器。对于有关shell脚本的问题,请使用更具体的标签,例如'bash','powershell'或'ksh'。没有特定标签的情况下,应该假定使用便携式(符合POSIX的)解决方案,尽管最好另外使用“ posix”或“ sh”。

9
Shell脚本的设计模式或最佳实践
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 是否有人知道任何有关壳脚本(sh,bash等)的最佳实践或设计模式的资源?

13
如何使用Ruby进行Shell脚本编写?
我要执行一些简单的Shell脚本编写任务 例如:从匹配某个正则表达式的文件列表中选择工作目录中的文件。 我知道我可以使用标准的bash和grep来做这种事情,但是我很高兴能够破解可以在Windows和Linux中运行的快速脚本,而无需记住大量的命令行程序和标志等。 我试图解决这个问题,但最终对应该在哪里获取信息(例如对当前目录的引用)感到困惑 所以问题是编写红宝石外壳脚本我需要知道Ruby库的哪些部分?
165 ruby  shell  scripting 

10
Bash中的eval命令及其典型用法
在阅读了bash手册页和关于此帖子之后。 我仍然很难理解该eval命令的确切功能以及这将是其典型用法。例如,如果我们这样做: bash$ set -- one two three # sets $1 $2 $3 bash$ echo $1 one bash$ n=1 bash$ echo ${$n} ## First attempt to echo $1 using brackets fails bash: ${$n}: bad substitution bash$ echo $($n) ## Second attempt to echo $1 using parentheses fails bash: 1: command …
165 linux  bash  shell  scripting  eval 


6
bash中的字符串比较。[[: 未找到
我正在尝试比较bash中的字符串。我已经找到了关于如何在stackoverflow上执行此操作的答案。在我正在尝试的脚本中,我正在使用亚当在提到的问题中提交的代码: #!/bin/bash string='My string'; if [[ "$string" == *My* ]] then echo "It's there!"; fi needle='y s' if [[ "$string" == *"$needle"* ]]; then echo "haystack '$string' contains needle '$needle'" fi 我还尝试了在第二篇文章中找到的ubuntuforums方法 if [[ $var =~ regexp ]]; then #do something fi 在两种情况下,我都会收到错误消息: [[: not found 我究竟做错了什么?


12
查看PS命令的完整输出
当我ps -aux在使用腻子连接的Linux服务器上运行命令时,很少有进程太长而无法容纳当前的窗口宽度。有其他选择吗? -更新- 很抱歉降级,我以为其他人也找不到答案,所以我降级了。 这是您要求的信息。 hadoop-user@hadoop-desk:~$ echo $TERM xterm hadoop-user@hadoop-desk:~$ stty -a speed 38400 baud; rows 47; columns 158; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop …
163 linux  bash  shell  process 


22
如果换行符是文件中的最后一个字符,该如何删除?
我有一些文件要删除最后一个换行符(如果它是文件中的最后一个字符)。 od -c告诉我,我运行的命令确实以尾随新行写入文件: 0013600 n t > \n 我用sed尝试了一些技巧,但我能想到的最好的方法不是: sed -e '$s/\(.*\)\n$/\1/' abc 任何想法如何做到这一点?
162 linux  perl  shell  awk  sed 

10
如何从远程SSH会话将数据发送到本地剪贴板
Borderline ServerFault问题,但是我正在编程一些shell脚本,所以我先在这里尝试:) 大多数* nixes都有一个命令,可让您通过管道将输出重定向/重定向到本地剪贴板/粘贴板,并从中进行检索。在OS X上,这些命令是 pbcopy, pbpaste 无论如何,在通过SSH连接到另一台服务器时是否可以复制此功能?那是, 我正在使用计算机A。 我打开一个终端窗口 我通过SSH连接到计算机B 我在计算机B上运行命令 计算机B的输出将被重定向或自动复制到计算机A的剪贴板中。 是的,我知道我可以(使用鼠标)从命令中选择文本,但是我已经习惯了将输出直接拖到剪贴板的工作流程,因此我希望对远程会话也是如此。 代码是有用的,但是一般的方法也是可以理解的。
161 linux  macos  unix  shell  clipboard 

9
如何从另一个文件A中删除文件B上显示的行?
我有一个大文件A(由电子邮件组成),每封邮件一行。我还有另一个文件B,其中包含另一组邮件。 我将使用哪个命令从文件A中删除文件B中出现的所有地址。 因此,如果文件A包含: A B C 文件B包含: B D E 然后,将文件A保留为: A C 现在,我知道这是一个可能会经常被问到的问题,但是我只在线找到了一条命令,该命令给我一个错误的分隔符错误。 任何帮助将非常感激!肯定有人会想出一个聪明的一线客,但我不是shell专家。
160 linux  shell  sed  diff  grep 

9
从OS X Dock执行Shell脚本?
如何设置要从Mac OSX扩展坞执行的Shell脚本?似乎简单地创建快捷方式将在我的编辑器中打开文件。我是否需要在某个地方设置一个标志来告诉它运行,而不是打开它进行编辑?
160 macos  shell 

7
将命令行参数转换为Bash中的数组
如何将命令行参数转换为bash脚本数组? 我要这样: ./something.sh arg1 arg2 arg3 并将其转换为 myArray=( arg1 arg2 arg3 ) 这样我就可以在脚本中使用myArray进行进一步使用。 上一则SO文章即将结束,但没有涉及如何创建数组:如何在Bash中解析命令行参数? 我需要将参数转换为常规的bash脚本数组;我意识到我可以使用其他语言(例如Python),但是需要在bash中执行此操作。我猜我在寻找“附加”功能或类似的东西? 更新:我还想问一下如何检查零个参数并分配一个默认的数组值,并且由于下面的答案,所以能够使它工作: if [ "$#" -eq 0 ]; then myArray=( defaultarg1 defaultarg2 ) else myArray=( "$@" ) fi
160 arrays  bash  shell 

12
如何调试bash脚本?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 改善这个问题 有什么方法可以调试bash脚本?例如,打印诸如“呼叫行1”,“呼叫行2”之类的执行日志的内容。
159 bash  shell 

21
如何检索给定相对路径
给定相对路径时,是否有命令检索绝对路径? 例如,我希望$ line在dir中包含每个文件的绝对路径。 ./etc/ find ./ -type f | while read line; do echo $line done
159 bash  shell  path  absolute 

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.