从输入中获取文件夹名称的正确方法

Mah*_*hsa 1 bash stdin

我写了一个脚本,我有问题从stdin获取文件夹的名称是我的问题;

myfunc:

 #!/bin/bash

audio=$1

mkdir -p ${audio}_rnn

...
rest of code
...
Run Code Online (Sandbox Code Playgroud)

我叫我的功能:

$./myfunc testdir
Run Code Online (Sandbox Code Playgroud)

通过这种方式,我有我预期的输出,这意味着我在当前目录中有另一个名为testdir_rnn的目录.

但是当我这样调用我的函数时:

$./myfunc testdir/
Run Code Online (Sandbox Code Playgroud)

我有问题; 它在testdir文件夹中创建_rnn文件夹,因为:echo $ {audio} _rnn在这种情况下是testdir/_rnn

从输入中获取文件夹名称的正确方法是什么?

Vik*_*ngh 6

你只需要修剪'/'.请${1%/}在您的代码中使用如下:

audio=${1%/}

mkdir -p ${audio}_rnn

...
rest of code
...
Run Code Online (Sandbox Code Playgroud)