Capture user input by opening a text editor with content
From a bash script, I'd like to
- Open the default text editor for current user
- Paste a string
$original_contentin it - Once the user modifies the content then closes the text editor,
- Capture the modified string into a variable
$modified_content - Then save
$modified_contentto an$output_file
Google searches for capturing user input shows read which is not what I'm looking for.
Can someone point me to the right direction?
Thank you
This method should hopefully work for most editors:
#!/bin/bash
original_content="Your original content"
echo $original_content > /tmp/user_input.tmp
# For example:
# DEFAULT_EDITOR=/usr/bin/vi
$DEFAULT_EDITOR /tmp/user_input.tmp
modified_content=`cat /tmp/user_input.tmp`
echo $modified_content > /tmp/output_file
This script may be a little drawn out but it performs all the actions you wanted except for the pasting part, since you'd probably have to accommodate for all varieties of editors to properly "paste" a string. This script utilizes the benefit that calling most editors with a filename as a parameter opens that file for editing thereby "pasting" your $original_content in the editor.
加载中,请稍侯......
精彩评论