如何将变量传递给命令行程序?

Sin*_*u S 1 linux bash shell utility

我想创建文件,当前日期为前缀,一些字符串作为文件名的剩余部分.

像这样的东西:

touch `date +"%Y-%m-%d-"$1`.md hello
Run Code Online (Sandbox Code Playgroud)

$1应该在哪里拿起hello并创建一个名为的文件2014-3-3-Hello.md.

cma*_*ter 5

您可以使用命令替换:

touch "$(date +"%Y-%m-%d-")hello.md"
Run Code Online (Sandbox Code Playgroud)

如果你想命名一些文件,所有文件都以#循环.md包装,只需将它包装在一个for循环中:

for baseName in hello world foo bar ; do
    touch "$(date +"%Y-%m-%d-")$baseName.md"
done
Run Code Online (Sandbox Code Playgroud)

这将创建一个类似的名字四个文件2014-3-3-hello.md,2014-3-3-world.md等等.