我可以创建一个新脚本并在一个命令中修改它吗?

Oli*_*Oli 6 command-line bash

在此处编写答案时,通常需要创建一个新脚本并chmod +x使其可执行。我不会讨论这是否是一件好事,但向人们解释他们需要在三个单独的命令中开火(并教他们使用nano!)有点扯。

有什么更容易的吗?

Oli*_*Oli 7

为什么有!让我向您介绍install命令。install是 GNU 标准的应用程序,可让您复制文件并同时指定某些内容。简短的语法是install SOURCE DESTINATION.

然而,“某些事情”很重要。您可以使用-m xxx(755 表示可由所有者写入且可由任何人执行)指定文件模式。bash 有一些用于重定向新文件的技巧和用于接受长格式数据的 here-doc。这是一个快速示例:

install -b -m 755 /dev/stdin ~/testbin << EOF
#!/bin/sh
echo "Success!"
EOF 
Run Code Online (Sandbox Code Playgroud)

现在你可以运行了~/testbin,它应该会回显出来。

您可以将其与sudoroot 拥有的文件结合使用,或者如果您想以其他人的身份编写,您可以 sudo 并使用install-o所有者标志。

-b如果您第二次运行该命令,该标志只会创建一个备份。如果您正在执行具有潜在破坏性的任务,这将很有帮助。