Questions tagged «shell»

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

5
异步Shell命令
我正在尝试使用Shell脚本来启动命令。我不在乎是否/何时/如何/为什么完成。我希望该过程开始并运行,但是我希望能够立即回到我的外壳...

7
如何在Bash中隐藏命令输出
我想让我的Bash脚本对最终用户来说更加优雅。当Bash执行命令时,如何隐藏输出? 例如,当Bash执行时 yum install nano 将向执行Bash的用户显示以下内容: Loaded plugins: fastestmirror base | 3.7 kB 00:00 base/primary_db | 4.4 MB 00:03 extras | 3.4 kB 00:00 extras/primary_db | 18 kB 00:00 updates | 3.4 kB 00:00 updates/primary_db | 3.8 MB 00:02 Setting up Install Process Resolving Dependencies --> Running transaction check ---> …
100 bash  shell 

9
使用scp递归复制dir时如何过滤文件?
我需要将所有.class文件从服务器复制到本地,并保留所有目录。例如,server:/usr/some/unknown/number/of/sub/folders/me.class将/usr/project/backup/some/unknown/number/of/sub/folders/me.class可问题是,还有许多其他无用的文件,如的.svn基文件我不想。我该如何过滤它们,以便仅使用scp.class文件?
99 file  shell  filter  directory  scp 

8
批处理文件-命令行参数数
只是将一些shell脚本转换成批处理文件,我似乎找不到一件事...那就是对命令行参数数量的简单计数。 例如。如果你有: myapp foo bar 在Shell中: $#-> 2 $ *-> foo bar $ 0-> myapp $ 1-> foo $ 2->酒吧 分批 ?? -> 2 <----什么命令? %*-> foo栏 %0-> myapp %1-> foo %2->条 所以我环顾四周,或者我找错了地方,或者我瞎了眼,但是我似乎找不到找到传递传入的命令行参数数量的方法。 对于批处理文件,是否有类似于shell的“ $#”的命令? ps。我发现最接近的方法是遍历%1s并使用'shift',但是我稍后需要在脚本中引用%1,%2等,所以这样做不好。

7
在远程ssh命令中传递变量
我希望能够使用ssh从我的机器上运行命令并传递环境变量 $BUILD_NUMBER 这是我正在尝试的: ssh pvt@192.168.1.133 '~/tools/myScript.pl $BUILD_NUMBER' $BUILD_NUMBER 是在进行ssh调用的计算机上设置的,并且由于该变量在远程主机上不存在,因此不会被提取。 如何传递的值$BUILD_NUMBER?
99 linux  bash  shell  ssh 

7
如何将grep --include选项用于多种文件类型?
当我想grep某个目录中的所有html文件时,请执行以下操作 grep --include="*.html" pattern -R /some/path 效果很好。问题是如何grep某个目录中的所有html,htm,php文件? 从这个使用grep --exclude /-include语法不通过某些文件进行grep看来,我可以执行以下操作 grep --include="*.{html,php,htm}" pattern -R /some/path 但可悲的是,它对我不起作用。 仅供参考,我的grep版本是2.5.1。
98 shell  grep 


9
将输出写入日志文件和控制台
在Unix Shell中,我有一个env文件(env文件定义了运行用户脚本所需的参数,例如日志文件名和路径,将输出和错误重定向到日志文件,数据库连接详细信息等),该文件将所有输出重定向(回显消息)),并使用以下代码从执行的脚本向日志文件中显示错误: exec 1>>${LOG_FILE} exec 2>>${LOG_FILE} env文件在每个脚本的开头执行。由于上述env文件中的代码,所有可能是用户输出或错误的控制台输出都将直接输出到日志文件,这正是我实际需要的。 但是我希望在控制台和日志文件中同时显示一些选择性的用户输出。但是由于上面的代码,我无法执行此操作。 我知道,如果删除上面的代码,在这种情况下可以得到理想的结果,但是我将不得不将所有其他输出手动写入日志文件,这并非易事。 有没有一种方法可以在不删除上述代码的情况下在控制台和日志文件中获得输出?
98 bash  shell  redirect  logging 

4
在MacOSX中将ZSH设为默认Shell [关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 3年前关闭。 改善这个问题 我在Mac上安装了zsh。现在我想使其成为默认的外壳而不是Bash。但我似乎遇到以下错误: $ echo $SHELL /bin/bash $ chsh -s /usr/bin/zsh Changing shell for harshamv. Password for harshamv: chsh: /usr/bin/zsh: non-standard shell
98 bash  shell  zsh 

8
在UNIX中识别和删除空字符
我有一个文本文件,其中包含不需要的空字符(ASCII NUL,\0)。当我尝试查看它时,vi我看到^@在普通文本中交错的符号。我怎样才能: 确定文件中的哪几行包含空字符?我曾尝试对\0和进行grepping \x0,但这没有用。 删除空字符?strings在文件上运行可以清除它,但是我只是想知道这是否是最好的方法吗?

8
sed初学者:更改文件夹中的所有匹配项
我需要做一个正则表达式查找并替换文件夹(及其子文件夹)中的所有文件。linux shell命令将执行该操作吗? 例如,我要在所有文件上运行此文件,并用替换后的新文本覆盖旧文件。 sed 's/old text/new text/g'
98 regex  linux  shell  sed 

5
带参数的ZSH别名
我正在尝试为我的简单git add / commit / push创建一个带参数的别名。 我已经看到功能可以用作别名,所以我尝试但我没有做到.. 在我之前: alias gitall="git add . ; git commit -m 'update' ; git push" 但是我希望能够修改我的提交: function gitall() { "git add ." if [$1 != ""] "git commit -m $1" else "git commit -m 'update'" fi "git push" } (我知道这是一个可怕的git实践)
98 bash  shell  alias  zsh  zshrc 


4
在壳管中捕获错误代码
我目前有一个脚本,其功能类似于 ./a | ./b | ./c 我想对其进行修改,以便如果a,b或c中的任何一个退出并显示错误代码,我都会打印一条错误消息并停止,而不是向前传递错误的输出。 最简单/最干净的方法是什么?

9
编写Shell脚本以ssh到远程计算机并执行命令
我有两个问题: 有多台远程linux机器,我需要编写一个shell脚本,该脚本将在每台机器上执行相同的命令集。(包括一些sudo操作)。如何使用Shell脚本来完成? 切换到远程计算机时,提示输入RSA指纹认证时如何处理。 远程机器是在运行中创建的VM,我只有它们的IP。因此,我无法事先在这些计算机中放置脚本文件并从我的计算机中执行它们。
97 linux  shell  ssh 

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.