Bash 脚本:如何使用目录和文件名打开 Kate?

Bash Scripting: How to open Kate with directory and filename?

我对 Bash 脚本编写完全陌生,所以在我尝试描述它时对我很陌生。 我想要做的是能够插入两个参数。 Arg1=文档中的子文件夹 Arg2=文本文件的标题

使用 Ubuntu 20.10。 (如果这很重要) 简而言之:kate ~/Documents/$Arg1/$Arg2 等同于我在终端中输入的命令。

额外的问题是子文件夹有一个关键字快捷方式。例如,子文件夹的名称为 SUPERLONGNAME_EXTRALONG,但我想要一个快捷方式,例如 SHORTNAME=SUPERLONGNAME_EXTRALONG

#!/bin/sh

newfile()

    dirname=
    filename=

    if $dirname==dir1
        dirname=newdirname
        fi

kate ~/Documents/$dirname/$filename

这就是我现在的基本情况。虽然正如您所猜测的那样,这是行不通的。 (提供帮助以了解我正在尝试做什么)。我可以使用我选择的文件名在主目录中打开 kate。我真正的问题似乎是创建快捷方式关键字。以及将文件保存到 Document/Arg1 目录。请帮忙。

I 运行 通过终端使用的命令 sh newfile arg1 arg2

使用关联数组短名称可选择地从长名称转换为短名称。验证文件和目录是否存在:

#!/bin/bash

declare -A shortnames=( 
  [long]="short"
)

d=
f=
if [ -z "$d" ]
then
    echo directory required
    exit 1
fi
if [ -n "${shortnames[$d]}" ]
then
    d=${shortnames[$d]}
fi
d=~/Documents/$d
if [ ! -d "$d" ]
then
     echo "directory $d does not exist"
     exit 1
fi

if [ -z "$f" ]
then
    echo file required
    exit 1
fi

kate "$d/$f"