我正在尝试从脚本执行命令但无法执行它。
脚本:command.sh
#!/bin/bash
a=$1
b=$2
echo "a=$a"
echo "b=$b"
`$a | $b`
执行命令:
bash-3.2$./command.sh“tar cvf-DIR”“压缩-c>/export/home/tceng/Desktop/temp/TestExtractUtility/tem/DIR.tar.Z”
输出:
./command.sh “tar cvf - DIR” “压缩-c> /export/home/tceng/Desktop/temp/TestExtractUtility/tem/DIR.tar.Z”
a=tar cvf-DIR
b=压缩-c >/export/home/tceng/Desktop/temp/TestExtractUtility/tem/DIR.tar.Z
/export/home/tceng/Desktop/temp/TestExtractUtility/tem/DIR.tar.Z: 已经有 .Z 后缀 - 无变化 tar: DIR: 没有此文件或目录 bash-3.2$
{注意:要求是完整传递两个命令,不要修改或在脚本中添加逻辑}。
命令直接从提示符运行。我认为 > 运算符存在问题
您能就此提出一些建议吗?
谢谢,阿尼尔
答案1
删除反引号。这对我来说似乎有效。这是你想要的吗?
#!/bin/sh
a=$1
b=$2
echo "a=$a"
echo "b=$b"
$a | $b