我想编写一个添加/创建文件的脚本(就像这样touch
做)。但是,有自己的东西。第一行将是变量。在哪里:
echo -n "Choose your folder to save the file: "
read dir
echo -n "What is the name of your file: "
read name
但在这种情况下,我应该输入完整路径,但我想使用 TAB 按钮来完成查询。
我只想让 TAB 按钮在我的脚本中起作用。就像它与 cat、cd 和许多其他命令一起使用一样。
提前致谢。
答案1
您希望在向 Bash 输入时使用制表符补全功能吗read
?然后read -e
就是你要找的(手动的):
选项: -e 使用 Readline 获取交互式 shell 中的行
例如
/tmp/foo$ 触摸 abcdef abcghi /tmp/foo$ read -e -p '输入文件名:' 输入文件名:ab[标签] abcdef abcghi
尽管您确实应该让脚本接受输入作为命令行参数。这样,从其他脚本或 shell 循环等运行它就更容易了。
像这样的东西$1
是脚本的第一个参数,$#
保存参数的数量。
#!/bin/bash
if [ "$#" != 1 ]; then
echo "Usage: $0 <filename>"
exit 1
fi
echo "Doing something with '$1'..."