标签: shell-script

如何添加 X 天日期并获取新日期?

我有 Linux ( RH 5.3 ) 机器

我需要添加/计算 10 天加上日期,这样我就会得到新的日期(到期日期))

例如

 # date 
 Sun Sep 11 07:59:16 IST 2012
Run Code Online (Sandbox Code Playgroud)

所以我需要得到

     NEW_expration_DATE = Sun Sep 21 07:59:16 IST 2012
Run Code Online (Sandbox Code Playgroud)

请建议如何计算新的到期日期(使用 bash 、 ksh 或操纵日期命令?)

linux bash shell-script date

154
推荐指数
4
解决办法
37万
查看次数

删除文件的第一行

如何删除文件的第一行并保留更改?

我试过这个,但它删除了文件的全部内容。

$sed 1d file.txt > file.txt
Run Code Online (Sandbox Code Playgroud)

ksh sed shell-script

150
推荐指数
6
解决办法
42万
查看次数

如何使用 shell 命令删除 ascii 文件的前 n 行?

我有多个文件在前 5-10 行中包含 ascii 文本信息,然后是列表良好的矩阵信息。在 shell 脚本中,我想删除前几行文本,以便我可以在另一个程序中使用纯矩阵信息。如何使用 bash shell 命令来执行此操作?

如果有任何帮助,我正在使用 RedHat 和 Ubuntu linux 系统。

bash shell-script text-processing

147
推荐指数
4
解决办法
33万
查看次数

什么时候需要双引号?

过去的旧建议是对任何涉及 a 的表达式加双引号$VARIABLE,至少在希望 shell 将其解释为单个项目的情况下,否则,内容中的任何空格$VARIABLE都会脱离 shell。

但是,我知道在较新版本的 shell 中,不再总是需要双引号(至少出于上述目的)。例如,在bash

% FOO='bar baz'
% [ $FOO = 'bar baz' ] && echo OK
bash: [: too many arguments
% [[ $FOO = 'bar baz' ]] && echo OK
OK
% touch 'bar baz'
% ls $FOO
ls: cannot access bar: No such file or directory
ls: cannot access baz: No such file or directory
Run Code Online (Sandbox Code Playgroud)

zsh,而另一方面,同样的三个命令成功。因此,基于此实验,似乎在 中bash可以省略 内部的双引号[[ ... ]],但不能省略内部 …

shell bash zsh shell-script quoting

147
推荐指数
1
解决办法
6万
查看次数

如何在远程机器上执行本地脚本并包含参数?

我编写了一个在本地执行时运行良好的脚本:

./sysMole -time Aug 18 18
Run Code Online (Sandbox Code Playgroud)

参数"-time""Aug""18""18"成功传递给脚本。

现在,这个脚本被设计为在远程机器上执行,但是从本地机器上的本地目录执行。例子:

ssh root@remoteServer "bash -s" < /var/www/html/ops1/sysMole
Run Code Online (Sandbox Code Playgroud)

这也很好用。但是当我尝试包含上述参数(-time Aug 18 18) 时,问题就出现了,例如:

ssh root@remoteServer "bash -s" < /var/www/html/ops1/sysMole -time Aug 18 18
Run Code Online (Sandbox Code Playgroud)

运行该脚本后,我收到以下错误:

bash: cannot set terminal process group (-1): Invalid argument
bash: no job control in this shell
Run Code Online (Sandbox Code Playgroud)

请告诉我我做错了什么,这非常令人沮丧。

shell scripting bash options shell-script

145
推荐指数
2
解决办法
26万
查看次数

*sh shell 中的反引号(即`cmd`)是否已被弃用?

我在 Unix 和 Linux 以及其他使用短语“反引号已被弃用”的站点上多次看到此评论,这与 Bash 和 Zsh 等 shell 相关。

这个说法是真的还是假的?

shell scripting bash zsh shell-script

141
推荐指数
2
解决办法
3万
查看次数

解码URL编码(百分比编码)

我想解码 URL 编码,是否有任何内置工具可以执行此操作,或者谁能为我提供sed可以执行此操作的代码?

我确实通过unix.stackexchange.com和互联网进行了一些搜索,但我找不到任何用于解码 url 编码的命令行工具。

我想要做的只是就地编辑txt文件,以便:

  • %21 变成 !
  • %23 变成 #
  • %24 变成 $
  • %26 变成 &
  • %27 变成 '
  • %28 变成 (
  • %29 变成 )

等等。

url sed shell-script text-processing

132
推荐指数
9
解决办法
13万
查看次数

括号真的把命令放在子shell中吗?

根据我的阅读,将命令放在括号中应该在子shell 中运行它,类似于运行脚本。如果这是真的,如果 x 未导出,它如何查看变量 x?

x=1
Run Code Online (Sandbox Code Playgroud)

(echo $x)在命令行上运行结果为 1

echo $x正如预期的那样,在脚本中运行不会产生任何结果

bash shell-script subshell

126
推荐指数
2
解决办法
12万
查看次数

如何检查是否没有为命令提供参数?

你如何检查是否$*为空?换句话说,如何检查命令是否没有提供参数?

shell bash parameter shell-script

117
推荐指数
2
解决办法
17万
查看次数

如何监控来自我的机器的所有传出请求/连接?

我的机器是一台服务器,所以我想忽略与我的服务器建立的连接(例如,当有人访问我的网站时)。我希望看到只有连接/请求被我的服务器到其他地方做。

我如何看到那些传出连接?

编辑:我是这些类型的新手。我想要做的只是看看除了我的网络应用程序的数据之外,是否从我的服务器发送了任何内容。例如,如果有人访问我的网站,那么显然我的服务器会将数据发送到客户端的浏览器。但是假设我的网络应用程序框架中的某处也有代码将统计数据发送到我不知道的其他地方。我想看看我的服务器将数据发送到的那些地方,如果有的话。这可能不太可能,但假设您决定使用不是您编写的 php 或 nodejs 框架:它可能会在某处发送某种类型的数据。如果是这样,这就是我希望看到的。

command-line networking security shell-script

114
推荐指数
5
解决办法
39万
查看次数