Questions tagged «shell»

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

6
更改用户默认主目录的命令
我想知道是否有任何简单的shell命令来更改Linux / Unix中的用户主目录(类似于chsh,它会更改现有有效用户的默认登录shell)而无需触摸/etc/passwd文件。谢谢
202 linux  shell  unix 

10
sed中的环境变量替换
如果我从脚本运行以下命令: #my.sh PWD=bla sed 's/xxx/'$PWD'/' ... $ ./my.sh xxx bla 没事。 但是,如果我运行: #my.sh sed 's/xxx/'$PWD'/' ... $ ./my.sh $ sed: -e expression #1, char 8: Unknown option to `s' 我在教程中读到,要从shell替换环境变量,您需要停止操作,并对部分进行“引用”,$varname以便不直接替换该部分,这是我所做的,并且仅当该变量在紧接之前定义时才起作用。 我如何被s识别$var为shell中定义的环境变量?
202 linux  unix  shell  sed 

15
解压缩目录中的所有文件
我有一个ZIP文件目录(在Windows计算机上创建)。我可以使用手动解压缩它们unzip filename,但是如何通过外壳解压缩当前文件夹中的所有ZIP文件呢? 使用Ubuntu Linux服务器。
202 linux  shell  wildcard  unzip 


11
遍历带空格的文件列表
我想遍历文件列表。此列表是find命令的结果,因此我想到了: getlist() { for f in $(find . -iname "foo*") do echo "File found: $f" # do something useful done } 很好,除非文件名中包含空格: $ ls foo_bar_baz.txt foo bar baz.txt $ getlist File found: foo_bar_baz.txt File found: foo File found: bar File found: baz.txt 我应该怎么做才能避免空间分裂?
201 linux  bash  shell 

13
PHP中的异步shell exec
我有一个PHP脚本,该脚本需要调用shell脚本,但根本不关心输出。Shell脚本会进行许多SOAP调用,并且完成起来很慢,因此我不想在等待回复时放慢PHP请求。实际上,PHP请求应该能够退出而不终止shell进程。 我已经研究过的各种exec(),shell_exec(),pcntl_fork(),等功能,但他们都不似乎提供正是我想要的。(或者,如果这样做,我不清楚如何做到。)有什么建议吗?
199 php  asynchronous  shell 

20
在Unix shell上加一列数字
给定中的文件列表files.txt,我可以得到它们的大小列表,如下所示: cat files.txt | xargs ls -l | cut -c 23-30 产生这样的事情: 151552 319488 1536000 225280 如何获得所有这些数字的总数?
198 linux  unix  shell 

14
文件中的最长行
我正在寻找一种查找文件中最长行的长度的简单方法。理想情况下,它将是一个简单的bash shell命令,而不是脚本。
198 bash  shell  utilities 

14
有效测试Linux是否打开了端口?
从bash脚本中,我如何快速找出445服务器上端口是否处于打开/侦听状态。 我已经尝试了几个选项,但我想要的东西快: 1 lsof -i :445 (只需几秒钟) 2. netstat -an |grep 445 |grep LISTEN(只需几秒钟) 3. telnet(不返回) 4 nmap,netcat不可用在服务器上 很高兴知道一种不会先枚举然后在此之后摸索的方式。
197 linux  bash  shell  port 


17
在单行命令行中执行多行语句?
我正在使用Python -c执行单线循环,即: $ python -c "for r in range(10): print 'rob'" 这很好。但是,如果在for循环之前导入模块,则会出现语法错误: $ python -c "import sys; for r in range(10): print 'rob'" File "<string>", line 1 import sys; for r in range(10): print 'rob' ^ SyntaxError: invalid syntax 任何想法如何解决? 对我而言,将其作为一个单行放置非常重要,这样我才能将其包含在Makefile中。

7
使用sh shell比较字符串
我正在使用SH Shell,并且尝试将字符串与变量的值进行比较,但if条件始终执行为true。为什么? 这是一些代码: Sourcesystem="ABC" if [ "$Sourcesystem" -eq 'XYZ' ]; then echo "Sourcesystem Matched" else echo "Sourcesystem is NOT Matched $Sourcesystem" fi; echo Sourcesystem Value is $Sourcesystem ; 即使这不起作用: Sourcesystem="ABC" if [ 'XYZ' -eq "$Sourcesystem" ]; then echo "Sourcesystem Matched" else echo "Sourcesystem is NOT Matched $Sourcesystem" fi; echo Sourcesystem …
197 shell  unix  sh 

4
Bash脚本并行处理有限数量的命令
我有一个bash脚本,如下所示: #!/bin/bash wget LINK1 >/dev/null 2>&1 wget LINK2 >/dev/null 2>&1 wget LINK3 >/dev/null 2>&1 wget LINK4 >/dev/null 2>&1 # .. # .. wget LINK4000 >/dev/null 2>&1 但是处理每一行直到命令完成然后转移到下一行非常耗时,我想一次处理例如20行,然后当它们完成时再处理另外20行。 我曾考虑过wget LINK1 >/dev/null 2>&1 &将命令发送到后台并继续执行,但是这里有4000行,这意味着我将遇到性能问题,更不用说受限于我应该同时启动多少个进程,所以这不是一个好选择理念。 我现在正在考虑的一种解决方案是检查其中一个命令是否仍在运行,例如,在20行之后,我可以添加以下循环: while [ $(ps -ef | grep KEYWORD | grep -v grep | wc -l) -gt 0 ]; …
196 linux  bash  shell 

8
如何从批处理文件运行PowerShell脚本
我正在尝试在PowerShell中运行此脚本。我将以下脚本另存为ps.ps1我的桌面。 $query = "SELECT * FROM Win32_DeviceChangeEvent WHERE EventType = 2" Register-WMIEvent -Query $query -Action { invoke-item "C:\Program Files\abc.exe"} 我已经制作了一个批处理脚本来运行此PowerShell脚本 @echo off Powershell.exe set-executionpolicy remotesigned -File C:\Users\SE\Desktop\ps.ps1 pause 但我收到此错误:

8
有没有一种方法可以按列进行“ uniq”?
我有一个.csv文件,如下所示: stack2@example.com,2009-11-27 01:05:47.893000000,example.net,127.0.0.1 overflow@example.com,2009-11-27 00:58:29.793000000,example.net,255.255.255.0 overflow@example.com,2009-11-27 00:58:29.646465785,example.net,256.255.255.0 ... 我必须从文件中删除重复的电子邮件(整行)(即overflow@example.com,上面示例中包含的行之一)。如何uniq仅在字段1(用逗号分隔)上使用?根据man,uniq没有列选项。 我尝试了一些东西,sort | uniq但是没有用。
195 linux  shell  sorting  uniq 

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.