草庐IT

language-shell

全部标签

linux - 是否所有命令 shell 脚本都有一个通用名称?

我经常发现自己需要描述一个可以在所有主要shell解释器(ksh、bash、sh)上执行的简单Linux命令,但我不知道如何表示。一些示例是:ls、cd或cp。具体来说,我想在不特别提及任何shell的情况下发言。在SQL上下文中,这很简单:“SQL”指的是所有风格(Oracle、MSSQL等)之间的共享标准。SO似乎认为该术语是“shell”,但即使它要求您使用更具体的shell标记,这也意味着没有可行的共享功能。Unix/Linux命令shell之间的所有共享语法是否有名称,或者根本不存在? 最佳答案 ls、cd和cp都是POS

linux - 尝试并行启动任务的 Shell 脚本?

我需要做的基本任务是多次调用python脚本,每次使用不同的参数。例如:script.py-tcommand1script.py-tcommand2script.py-tcommand3等等。现在的问题是script.py需要很长时间才能运行,所以只是将上面的代码放在一个shell脚本中并依次(一个接一个地)运行它们是浪费时间。相反,我想做的是打开多个终端,然后在每个终端中运行script.py-tcommand_i对于第i个命令参数。有什么办法吗?如果没有,对于我正在尝试做的事情是否还有其他有用的并行选项?干杯编辑-刚刚意识到:我可能想要某种fork,是吗?不过,我从来没有用shel

linux - 尝试并行启动任务的 Shell 脚本?

我需要做的基本任务是多次调用python脚本,每次使用不同的参数。例如:script.py-tcommand1script.py-tcommand2script.py-tcommand3等等。现在的问题是script.py需要很长时间才能运行,所以只是将上面的代码放在一个shell脚本中并依次(一个接一个地)运行它们是浪费时间。相反,我想做的是打开多个终端,然后在每个终端中运行script.py-tcommand_i对于第i个命令参数。有什么办法吗?如果没有,对于我正在尝试做的事情是否还有其他有用的并行选项?干杯编辑-刚刚意识到:我可能想要某种fork,是吗?不过,我从来没有用shel

python - 为什么不在 Python 的 subprocess.Popen 中使用 `shell=True`?

这个问题在这里已经有了答案:Actualmeaningof'shell=True'insubprocess(7个答案)关闭6年前。我有一个很长的单行shell命令要由Python调用。代码是这样的:#"firstway"defrun_cmd(command):print"Run:%s"%commandsubprocess.call(command,shell=True)run_cmd('''sort-n-r-k5{3}|head-n500|awk'OFS="\t"{{if($2-{1}>0){{print$1,$2-{1},$3+{1},$4,$5}}}}'>{2}'''.format

python - 为什么不在 Python 的 subprocess.Popen 中使用 `shell=True`?

这个问题在这里已经有了答案:Actualmeaningof'shell=True'insubprocess(7个答案)关闭6年前。我有一个很长的单行shell命令要由Python调用。代码是这样的:#"firstway"defrun_cmd(command):print"Run:%s"%commandsubprocess.call(command,shell=True)run_cmd('''sort-n-r-k5{3}|head-n500|awk'OFS="\t"{{if($2-{1}>0){{print$1,$2-{1},$3+{1},$4,$5}}}}'>{2}'''.format

linux shell kill信号SIGKILL && KILL

我刚刚写了一个shell脚本来控制一个模块的启动和停止。一切似乎都很正常,直到我发现停止命令导致意外结果。我使用命令kill-sSIGKILL---gpid来终止一组进程。我使用/bin/sh来运行这样的命令/bin/sh-c"kill-sSIGKILL---gpid"哪个回复了错误/bin/sh:line0:kill:SIGKILL:invalidsignalspecificationThenIreplacedthe/bin/shwith/bin/bash,sothecommandis/bin/bash-c"kill-sSIGKILL---gpid"回复没有错误。所以我总结了bash

linux shell kill信号SIGKILL && KILL

我刚刚写了一个shell脚本来控制一个模块的启动和停止。一切似乎都很正常,直到我发现停止命令导致意外结果。我使用命令kill-sSIGKILL---gpid来终止一组进程。我使用/bin/sh来运行这样的命令/bin/sh-c"kill-sSIGKILL---gpid"哪个回复了错误/bin/sh:line0:kill:SIGKILL:invalidsignalspecificationThenIreplacedthe/bin/shwith/bin/bash,sothecommandis/bin/bash-c"kill-sSIGKILL---gpid"回复没有错误。所以我总结了bash

c - 如何从 shell 触发内核模块?

我正在使用Ubuntu和VirtualBox。我正在为我的shell定义一个新命令来输出子进程的一些特征(如兄弟树等)。为了输出这些特性,我创建了一个内核模块并使用了task_struct。我还在我的shell之外测试了我的内核模块并且它可以工作。现在我的问题是如何在我的shell中触发这个内核模块(用C代码)以便加载我的内核模块?我搜索了一下,发现需要用到modprobe或insmod之类的系统调用,但不明白怎么用。我尝试了下面的代码,但没有用:setuid(0);system("/sbin/insmod/.../mymodule.ko");感谢您的帮助。

c - 如何从 shell 触发内核模块?

我正在使用Ubuntu和VirtualBox。我正在为我的shell定义一个新命令来输出子进程的一些特征(如兄弟树等)。为了输出这些特性,我创建了一个内核模块并使用了task_struct。我还在我的shell之外测试了我的内核模块并且它可以工作。现在我的问题是如何在我的shell中触发这个内核模块(用C代码)以便加载我的内核模块?我搜索了一下,发现需要用到modprobe或insmod之类的系统调用,但不明白怎么用。我尝试了下面的代码,但没有用:setuid(0);system("/sbin/insmod/.../mymodule.ko");感谢您的帮助。

linux - 使用带有配置文件的 ssh 命令在远程机器上执行 shell 脚本

我想在远程机器上执行一个shell脚本,我使用下面的命令实现了这一点,sshuser@remote_machine"bash-s"在远程机器上正确执行的shell脚本。现在我对脚本进行了一些更改以从配置文件中获取一些值。该脚本包含以下行,#!bin/bashsource/usr/property.configecho"testName"属性配置:testName=xxxtestPwd=yyy现在如果我在远程机器上运行shell脚本,我不会收到这样的文件错误,因为/usr/property.config在远程机器上不可用。如何将配置文件与要在远程机器上执行的shell脚本一起传递?