Cov*_*ich 5 bash sh at-command
当我想使用 延迟程序的执行时at,它准确地表明了我的意思
warning: commands will be executed using /bin/sh
Run Code Online (Sandbox Code Playgroud)
bash例如,如何更改此默认 shell ?
请参阅发布在 Unix & Linux Stack Exchange 上的这个问题。第一句话说:
在 Linux 下,at 总是警告您它将使用 /bin/sh 执行指定的命令,而不是您最喜欢的 shell。您无法隐藏此消息,它是硬编码在源代码中的。
它还建议了一种解决方法:
您传递的命令由 /bin/sh 解释。如果您愿意,此命令可以是脚本的路径;然后 /bin/sh 将执行脚本程序,导致脚本的解释器启动并解释脚本。脚本的语言完全独立于启动它的程序。因此,如果您想执行 bash 脚本(即以 #!/bin/bash 开头的脚本),只需将脚本的路径传递给 at 并忽略不相关的消息。
bash因此,要使用而不是运行命令sh,您可以将脚本传递给at。只要脚本有 shebang 行,它就会由 shebang 指向的任何程序执行。如果使用#!/bin/bash,它将由 执行bash。
| 归档时间: |
|
| 查看次数: |
2269 次 |
| 最近记录: |