我有这个例子
cp `which mv` rename
我的作业的指示是,该命令不符合规范,并用执行完全相同的不同示例替换该命令。
我的问题是,命令不符合规范是什么意思?
答案1
我不知道这个“规范”是什么意思,但命令本身有点奇怪。将 /bin/mv 复制到 'rename' 有什么意义?执行完全相同操作的命令是
cp /bin/mv rename
如果你不知道的话。 ` 里面的所有内容都被扩展了
`which mv`
产生(在某些系统上,输出可能不同)
/bin/mv
换句话说。 ` 内的所有内容都会首先被调用,然后将结果替换为最终命令。
例如,它可以是您想要的任何命令。我猜您熟悉“日期”和“触摸”命令。假设我们要创建一个与当前时间戳相同名称的文件。获取当前时间戳的命令是 date +%s 。看一下这个例子。
touch `date +%s`
同样的事情,但里面的命令不同。首先调用“date +%s”,其结果是 1460885688(你的会有所不同)。之后调用的命令如下所示
touch 1460885688
答案2
如果该命令mv
不在当前的PATH
.
我会建议:
f=$(which mv) && cp $f rename