我需要编写一个脚本,它将两个文件名作为参数,然后删除所有重复的斜杠并将它们传递给其他应用程序,让我们说vim。
我从这样的事情开始,但当然它不起作用
#!/bin/bash
/usr/local/bin/vim $($1 | sed s#//*#/#g)
答案 0 :(得分:2)
管道操作员将获取一个命令的输出并将其传递给另一个命令。在您的情况下,$1
是您不希望作为命令运行的字符串值。相反,您可以使用字符串重定向运算符sed
将该值传递给<<<
,如下所示:
$(sed s#//*#/#g <<< $1)
答案 1 :(得分:1)
尝试readlink:
/usr/local/bin/vim "$(readlink -m "$1")"