Bash脚本变量

时间:2014-12-16 01:16:02

标签: macos bash

我需要编写一个脚本,它将两个文件名作为参数,然后删除所有重复的斜杠并将它们传递给其他应用程序,让我们说vim。

我从这样的事情开始,但当然它不起作用

#!/bin/bash
/usr/local/bin/vim $($1 | sed s#//*#/#g)

2 个答案:

答案 0 :(得分:2)

管道操作员将获取一个命令的输出并将其传递给另一个命令。在您的情况下,$1是您不希望作为命令运行的字符串值。相反,您可以使用字符串重定向运算符sed将该值传递给<<<,如下所示:

$(sed s#//*#/#g <<< $1)

答案 1 :(得分:1)

尝试readlink

/usr/local/bin/vim "$(readlink -m "$1")"