0

我正在尝试将文本文件添加到桌面然后将其删除,我确实有代码可以创建文件,但现在每当我创建它时,它就会让我将数据放入其中,无论我在终端中键入什么都会保存进入创建的txt文件。我需要的是创建文件,然后用户从菜单中选择另一个选项。

#!/bin/bash
#
# Script to perform some simple tasks
#
chmod 755 TaskB.sh
while:
do
clear
echo "*********************"
echo "* Tools *"
echo "*********************"
echo "* [1] Install gnome-disk-utility and gparted *"
echo "* [2] Create CET103Demo.txt *"
echo "* [3] Delete CET103Demo.txt *"
echo "* [4] Search BASH *"
echo "* [0] Exit/Stop *"
echo "*********************"
echo -n "Enter your menu choice [0-4]: "
read yourch
case $yourch in
1) *Not yet inserted code* ;;
2) cat > Desktop/CET103Demo.txt;;
3) rm Desktop/CET103Demo.txt;;
4) *Not yet inserted code* ;;
0) exit 0;;
*) echo "Oooops!!! Please select choice 1,2,3,4 or 0";
echo "Press Enter to continue..."; read ;;
esac
done
4

3 回答 3

3

如果我理解你的话,试着改变

2) cat > Desktop/CET103Demo.txt;;

进入

2) touch Desktop/CET103Demo.txt;;
于 2013-03-18T12:14:09.593 回答
0

如果您需要创建文件,一种可移植的方法是使用此代码段:

:> Desktop/CET103Demo.txt

:代表true(相同的命令):它只是一个以 0 状态退出的命令。重定向到一个文件,它将创建该文件。这适用于大多数不同的类 Unix shell。


$ LANG=C help :
:: :
空命令。

No effect; the command does nothing.    

Exit Status:    
Always succeeds.    

$ LANG=C help true
true: true
返回一个成功的结果。

退出状态:
总是成功。


$ LANG=C help false false: false
返回不成功的结果。

Exit Status:    
Always fails.    
于 2013-03-18T12:15:59.107 回答
0

你有很多选择..

touch file.txt # preferred option
cat /dev/null > file.txt
true > file.txt
echo -n > file.txt
于 2013-03-18T12:24:20.477 回答