我需要在 shell 中创建一个垃圾桶。垃圾桶具有以下功能:get( -g
)、put( -p
) 和 remove from trashcan( -r
)。
所以我尝试编译这个(gcc -o trashcan.sh
)但我得到了一个fatal error: no input files
。我在正确的目录中。我不知道哪里出了问题。请帮忙,我是新手。
#!/bin/bash
mkdir("ti3_trash",S_IRWXU)
clear() {
echo -e "Clear Trashcan? (y|n)"
read -a
if [[ "$a" = "n" ]] || [[ "$a" = "N" ]]; then
exit 0
else
cd ~/ti3_trash && rm -rf files/*
rm -r info/*
fi
}
list() {
echo -e "current contents of the Trashcan:"
ls ~/ti3_trash/files
}
case "$1" in
-p) mv $2 ~/ti3_trash/files
;;
-r) clear
;;
-g) cd ~/ti3_trash/files && mv $2 $HOME
;;
*) list
;;
esac
答案1
你使用的工具不对。GCC 是用来编译 C 代码的。你编写的是运行时解释的 bash 代码。你需要做的就是给它可执行权限。查看 chmod 的手册页man chmod
,并决定你想要它拥有什么权限。或者直接运行chmod 711 [your file name]