Bug 921286
| Summary: | Review Request: cmd - wrap bash functions into a command | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Deleted Account <juanmabcmail> |
| Component: | Package Review | Assignee: | Nobody's working on this, feel free to take it <nobody> |
| Status: | CLOSED DEFERRED | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | rawhide | CC: | notting, package-review |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2014-01-17 02:01:01 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Deleted Account
2013-03-13 21:15:36 UTC
tw and mkproject packages uses it internally, having this package would share the code, and allow for others to use. Name : mkproject Arch : noarch Version : 0.4.6 Release : 3.fc18 Size : 84 k Repo : installed Summary : Make project skeletons URL : http://code.google.com/p/makeproject License : GPLv3+ Description : Make Project is a command that makes project skeletons. Make Project : automatizes the task of starting a new project with the information : provided from the command line. The package created by default is a : 'hello world' project of the selected skeleton that is managed with : auto tools. There are skeletons for bash, c, c library, python, c++, c++ : library and Perl. Name : tw Arch : i686 Version : 0.9.8 Release : 1.fc18 Size : 6.3 M Repo : installed From repo : updates Summary : Translate words into different languages URL : http://code.google.com/p/translateword License : GPLv3+ Description : translate word is a command that translates words into different : languages. translate word uses internal dictionaries, and contacts : online to the Google Translation and the FreeTranslation engines. : It can also be integrated via the clipboard with a desktop environment. This command allows to make unexistent commands available on the shell like:
$ function test_test { echo "testtest"; }
$ function test_testarg { echo "testarg <$1>"; }
$ function test_testopt { if [[ ! -z "$1" ]]; then echo "testopt <$1>"; else echo "testopt
"; fi; }
$ function test_init { echo "testinit <$@>"; }
$ function test_main { echo "testmain <$@>"; }
$ export -f test_test test_testarg test_testopt test_init test_main
$ function testfly { cmd --cmd "testfly" --cmdname "test fly" --cmddescription "test fly" --cmdexplanation "tests cmd on the fly" --cmdversion "0.4.16" --cmdauthor "Test Author" --cmdmonth "May" --cmdyear "2013" --cmdbugreport "test" --cmdhomepage "http://test.homepage.tld" --cmdusage "
test [OPTIONS]" --cmdexample "test" --cmdoption "/t/test/show a test message/test_test/" --cmdoption "/a:/testarg:/show a test message with argument/test_testarg/ARG/" --cmdoption "/o::/testopt::/show a test message with optional argument/test_testopt/ARG/" --cmdextrahelp "You can play with option argument passing." --cmdextranotes "For more information, check package documentation." --cmdinit "test_init" --cmdmain "test_main" -- "$@"; }
Hence running like this:
$ testfly --help
Usage: test [OPTIONS]
test fly
Example: test
tests cmd on the fly
Mandatory arguments for long options are mandatory for short options too.
-t, --test show a test message
-a, --testarg=ARG show a test message with argument
-o, --testopt[=ARG] show a test message with optional argument
-h, --help show a help message
-v, --version show the program version
-m, --man show a man page
You can play with option argument passing.
Execute 'bash -c "man <(test --man)"' to see the runtime manpage.
Report bugs to <test>.
testfly (test fly) home page <http://test.homepage.tld>.
For more information, check package documentation.
$ testfly --version
0.4.16
$ man <(test --man)
...
$ testfly --test --testarg arg --testopt --testopt=arg a b c
testtest
testarg <arg>
testopt
testopt <arg>
testmain <a b c>
It's an smart wrapper (still being a command) allowing to make commands faster, or on the fly without losing standards. Provides a cmd binary and a cmd.sh for inclusion, just needing one to be used.
rf-0.4.18-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/rf-0.4.18-1.fc19 To easy maintainance this packages are being merged into one single project; http://code.google.com/p/codemiscs . |