我找不到让bash创建与用户拖动到终端中的文件同名的文件的方法。
read -p 'file: ' file
if [ "$file" -eq "" ]; then
cd desktop
mkdir
fi
我正在尝试使脚本的这一部分采用他们拖入的文件的名称,例如,将/Users/admin/Desktop/test.app cd光盘复制到其中,然后将“目录”文件复制到另一个具有相同目录的文件夹中为此示例命名为test.app,然后将内容文件粘贴到该文件夹中并删除旧文件。
答案 0 :(得分:0)
从您的.app示例中,我假设您正在使用MacOS。因此,由于我没有MacOS,因此您需要自己测试此脚本,但是我认为它应该按照您的要求进行操作。以bash script.sh
的身份执行,它将在当前工作目录中为您提供所需的目录test.app/contents
。
#! /bin/bash
read -rp 'file: ' file
if [ -e "$file" ]; then
if [ -e "$file"/contents ]; then
base=$(basename "$file")
mkdir "$base"
cp -R "$file"/contents "$base"
rm -rf "$file"
else
echo "The specified file $file has no directory 'contents'."
fi
else
echo "The specified file $file does not exist."
fi