【问题标题】:shell script to find file extension查找文件扩展名的shell脚本
【发布时间】:2015-08-19 20:20:21
【问题描述】:

我正在研究我在 git 中使用的 shell 脚本,它检查这是否是文件扩展名,然后执行这个可执行文件,否则执行此操作。我写了这个,但没有工作

if [[ $~x1  == *.datalink ]] then
C:/Users/salees/Compare.exe $1 $2
else
C:/Program Files/KDiff3/kdiff3.exe
exit 0

有人知道如何解决这个问题吗?

【问题讨论】:

  • 究竟是什么不起作用?错误是什么?
  • 您在编写什么特定的 shell?
  • 您使用的是什么操作系统?
  • 我正在使用窗口 7。我选择了一个数据链路文件,但它没有按预期调用我的 Compare.exe 文件。

标签: git shell


【解决方案1】:
x=file.datalink
extension=${x##*.}

if [[ $extension = "datalink" ]] then
    # do something
else
    # do otherwise
fi

假设您将文件名放在x 变量中,示例中为“file.datalink”

【讨论】:

  • [[ ]] 只不过是一个可移植性陷阱,相等运算符应该是=(不是非标准的== 疾病)。
  • 文件名未知。不应预定义文件名,因为我可以选择任何类型的文件在 git 中进行比较。谢谢
猜你喜欢
  • 2012-03-24
  • 2021-06-17
  • 2012-08-22
  • 2011-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多