创建bash函数将iso转换为img在mac上?

时间:2015-08-04 04:27:59

标签: macos bash

我之前使用hdiutil将.iso文件转换为.img文件,但是我试图在我的.bashrc中为它创建一个别名。

我希望它将标志-if和-of作为输入和输出文件,如果没有标志只是转换为默认输出文件。

这是我的代码:

function mkimg {
if [ "$1" == "-if=" && "$3" == "-of=" ]; then
    hdiutil convert "$2" -format UDRW -o "$4";
    "$5" = "$4.img";
    "$4" = "$4.dmg";
    mv "$4" "$5";
    echo "Completed. New file saved to: $5";
  else
     hdiutil convert "$1" -format UDRW -o ~/Desktop/still\ converting.img;
     mv ~/Desktop/still\ converting.img.dmg ~/Desktop/newimg.img;
     echo "Completed. New file saved to: ~/Desktop/newimg.img";
  fi
}

当我运行它时,它给了我一个错误。我做错了什么?

1 个答案:

答案 0 :(得分:0)

正如Cyrus和Etan在评论中所说,声明中有错误:

if [ "$1" == "-if=" && "$3" == "-of=" ]; then

必须是:

if [ "$1" == "-if=" -a "$3" == "-of=" ]; then

或更好:

if [ "$1" == "-if=" ] && [ "$3" == "-of=" ]; then

读者注意:这个答案仅适用于stackoverflow清理,因为问题不会显示为零答案。社区维基是活跃的,投票不会增加/降低作者的声誉。