Articles of 脚本

在shell脚本中使用for循环遍历参数列表?

我想通过参数显示提供给我的shell脚本的文件的内容。 我需要使用普通的'for(())'循环来做这个,而不是'for arr'循环。 这是我的代码。 我应该如何正确的文件名称为该猫命令? for (( i=1;$i<=$#;i=$i+2 )) do cat '$'$i #display the contents of the file currently being traversed done

在linux上检索eth0 ipv6地址

我期待在我的一个shell脚本中使用我的eth0 ipv6地址。 我可以使用ifconfig和grep来检索它,但是我确定它必须在某个文本文件中我没有看到的地方,这最终会使检索更容易。 任何人都知道我应该看什么? 谢谢

我可以启动一个脚本,使其独立于Linux上的父进程吗?

有没有办法从另一个进程启动一个脚本,以便如果进程死亡/结束,脚本仍然继续? 请setuid做这个? 如果我要将所有者设置为root,然后启动脚本? 例如,如果我有一些PHP代码启动一个脚本,但httpd死亡或死亡,我认为这需要我的脚本。 有没有解决的办法? 具体来说,我在Fedora 10上使用Apache 2和PHP 5。

如何在bash中优雅地存储和回显多行?

我试图把一块文本捕捉到一个variables中,保持新行,然后回显它。 但是,当我捕捉文本或显示文字时,换行符似乎不被保留。 任何想法如何我可以做到这一点? 例: #!/bin/bash read -d '' my_var <<"BLOCK" this is a test BLOCK echo $my_var 输出: 这是一个testing 期望的输出: 这个 是 一个 testing

如何使用Windows PowerShell的正则expression式删除一个文件名末尾的一个或多个空格?

我有一个目录包含了很多文件格式错误的文件名。 其中一些在文件名末尾有“空格”。 其他人在文件名string的末尾有一些在文件名中网格化的关键字。 例如“xxx xxx xxx somewordEng .txt” 即时通讯试图摆脱他们使用这个脚本,但它不会做。 文件名(基本名称)末尾的空格仍然存在,“Eng”关键字也是以前添加到该单词中的: dir | Rename-Item -NewName { $_.BaseName.replace("Eng$","").replace(" {2,}"," ").replace("\s$","") + $_.Extension } .replace("Eng$","") is supposed to remove the "Eng" keyword if it appears at the END of the filename (basename), seems not working so far. .replace(" {2,}"," ") is supposed to replace 2 or more following […]

如何创build一个批处理脚本,在达到文件夹大小限制时删除最旧的文件

我发现很多类似的问题的解决scheme,但我不知道是否有可能创build一个脚本,删除最旧的文件一旦达到预设的文件夹大小限制?

Windows批处理脚本从文件名删除括号中的文本?

我在一个文件夹中有一堆文件,我想通过一个.bat或.vbs脚本(或类似的)复制和重命名。 这些文件被命名为: ABC-DE-(XXX)SomeNameHere.dat 我想复制这些文件并重命名它们,删除(XXX)部分,只留下: ABC-DE-SomeNameHere.dat 有一种类似的问题在这里回答,但我不能修改它为上述文件名模式工作,也只是重命名文件,不复制它们。 任何帮助深表感谢! 非常感谢。 编辑:张贴( 可怕的! )下面的代码。 可能最好忽略这个; _; @ECHO OFF FOR %%F IN ("ABC-DE-(*)*.dat") DO CALL :process "%%F" GOTO :EOF :process SET oldname=%1 SET "newname=%~nx1" SET "newname=%newname:*] =%" RENAME %oldname% "%newname%"

在batch file中使用空格?

我需要运行batch file来设置许多文件夹的权限。 我们有以下文件夹结构 然后在每个客户端文件夹中,我们有几个子文件夹,例如Folder1 \ Client1 \ SubFolder1 Folder1 \ Client1 \ SubFolder2 Folder1 \ Client1 \ SubFolder3 我需要重置上面示例中所有子文件夹的权限,并在名为permissions.bat的文件中包含以下代码 for /f %%g in ('dir "f:\temp\" /ad /b') do for /f %%a in ('dir %%~fg /ad /b') do icacls "%%~fg\%%a" /grant:r domain\mygroup:(OI)(CI)M 这工作正常,但对于包含空格的客户端和子文件夹不起作用。 例如 Folder1\Client1\Sub Folder 1 会显示为 Folder1\Client1\Sub\ 紧跟着系统找不到指定的文件错误。 有任何想法吗? 顺便说一下,这是在2003服务器上运行。

使用通配符(*)将文件复制到bash脚本中的文件夹 – 为什么它不工作?

我写一个bash脚本创build一个文件夹,并将文件复制到该文件夹​​。 它从命令行工作,但不是从我的脚本。 这里有什么问题? #! /bin/sh DIR_NAME=files ROOT=.. FOOD_DIR=food FRUITS_DIR=fruits rm -rf $DIR_NAME mkdir $DIR_NAME chmod 755 $DIR_NAME cp $ROOT/$FOOD_DIR/"*" $DIR_NAME/ 我得到: cp: cannot stat `../food/fruits/*': No such file or directory

Awksearch文件的string

我已经实现了一个函数来search一个文件中的一个string,它运作良好。 我想知道如何修改它以searchstring中的所有列? awk -vs=$1 -vc=$2 '$c ~ s { print $0 }' $3 谢谢