如何获取 bash 脚本文件以在继续下一步之前请求提示?

如何获取 bash 脚本文件以在继续下一步之前请求提示?

我有一个一行脚本,用于在目录中创建文件并使用 Kwrite 打开该文件。我希望该脚本提示输入要创建的文件名并由 Kwrite 打开。目前它甚至没有打开终端,但理想情况下应该可以。如何使用以下脚本实现这一点?:

cat > file.php & kwrite file.php

我的目的是粘贴一个文件的复制部分来创建一个新文件。

答案1

选项 1:使用 bash 脚本参数

像这样创建脚本:

#!/bin/bash
( echo something > "$1".php && kwrite "$1".php ) &
clear

然后,您可以调用脚本并在命令后传递文件名。然后,脚本将自动创建具有所需内容的文件,.php自动添加扩展名,并在 kwrite 中打开该文件,同时释放终端提示符供您输入以下命令。

$1脚本中有一个变量,它会自动检索命令行上的下一个单词。例如,如果调用该脚本phpfile,则命令

phpfile myfile

将创建并打开文件myfile.php

选项 2. 使用read命令

read命令允许提示用户在命令行输入。

#!/bin/bash
echo "Please enter filename: "
read FILENAME
echo something > "$FILENAME".php && nohup kwrite "$FILENAME".php &
clear

nohup如果您使用终端工作,则可能很有用。它将编辑器与终端进程分离,因此如果您关闭终端,它也不会关闭。

选项 3. 使用图形工具

禅意,在 Ubuntu 中默认安装,或者对话在 Plasma 桌面上,允许您在图形对话框中提示用户输入,以供脚本使用。您可以在脚本中调用这些工具。然后,用户输入将被放置在变量中。这样做的好处是,您可以将脚本分配给快捷键。然后,您只需按一下键即可调用它,弹出 Zenity 对话框并让脚本执行其工作。

#!/bin/bash
FILENAME=$(zenity --entry --title "Name request" --text "Please enter file name:")
echo something > "$FILENAME".php && nohup kwrite "$FILENAME".php &
clear

相关内容