Read Me 0.5 -- 2013 July 24 -- sea ------------------------------------- Lisence Usage Purpose Installation Expendable Structure Manual (in progress) Lisence /-------------------------------------------\ | GNU Public CopyLeft v3 | | $stDir/Documention/gpl-v3.txt | | http://www.gnu.org/copyleft/gpl.html | \-------------------------------------------/ Usage ------------------------------ Using Script-Tools is quite easy, once installed, simply type "st" in any terminal, or use the link in the menu to open it. Once you are in the menu, you'll get a list presented which you select by numbers. Direct access to actual actions are established by simply appending your choices. Example: You had started "st" ; cmd="st" Then you had selected 4 (net) ; cmd="st net" There you want to download a youtube video and select menuentry 5 (yt); cmd="st net yt" Now you can simply follow the menu, or try if i had added a helpscreen already, to look so, try this: "$cmd -h" which would be equal to: "st net yt -h" Intentions ------------------------------ I want to learn for myself and help you on the way. I do not want to harm you, i hope i have placed warnings in the scripts before ciritcal actions, however, i'm human and therefore imperfect, thus i deny any responsiblility for any trouble that might have been caused by script-tools. I do use and work at these scripts almost daily, and after considering a script to be 'stable', i havent lost any data due to it, ever, so far. Layer 1: ~ 95% working for current needs * A Scripted Framework, that let transform a simple CLI into a TUI * Handler for OS/Distro dependend commands like: yum, pcman or apt-get. * Handler that care about diffrent default paths used in diffrent distros. * Easy extendable with custom scripts, adding them with 'newScript NAME' Layer 2: ~ 75% working for current needs / knowhow-practice * BASIC-Single-PersonProject management * Simplified/automated as good as it gets - Redistribution * Configuring Script-Tools & Editing configuration files of projects Layer 3: * Tried to add scripts i've created since 2011 with a 'logical' (or ABR) way. * Tried to keep scripts as FOSS as possible according to Fedora Philosophy. Layer 4: * Some very few scripts ($stDir/Scripts-in-bin) that will be placed in /usr/bin, as they are too tiny to have any long command syntax. Installation ------------------------------ The default installation directory is /usr/share/script-tools. However, you may place it anywhere you want, and execute the script from there. It will automaticly symlink its current location to /usr/share/script-tools. From the tarball, the first execution the scripts might ask for a password, as it is symlinking the execute script "$stDir/St" to "/usr/bin/st". GIT As you need to be root when installing a package, installing code that is not packages requires root as well, as some tasks to make the package usuable require root access. Namley this is to symlink "st" to "/usr/bin" and all files from $stDir/Scripts-in-bin as well. su -c "git clone git://git.code.sf.net/p/script-tools/code /usr/share/script-tools" su -c "/usr/share/script-tools/st" Extendable ------------------------------ To organize scripts can be difficult as soon two or more scripts 'should' have the same name but for diffrent purposes. Here is where the Script Tools joins. To make it easy for you to add your own scripts, Script-Tools offers you folders within its configuration area in $XDG_CONFIG_DIR/script-tools/scripts. Scripts located in that script-dir may be executed with: st custom [SUBFOLDER..] NAME Those scripts may use all functions provided by Script-Tools. Get an overview of the functions in $SEA_DOC_DIR/CommandList. Into the $SEA_LIB_DIR, you may place either your own scripts which contain functions for your own usage or configuration files, that may or may not overwrite the default variables of the Script Tools Collection. NOTE: In $SEA_SCRIPT_DIR you may create your own path structure which may be executable by using a command similar to this "$sst custom path script" which will execute "$SEA_SCRIPT_DIR/path/script". Customizable ------------------------------ Just like any good 'program' you can configure script-tools Once it is properly installed, simply type "st conf" to access the configuration screen. You will find these options: * incl Contains configuration files, such as for CLI.GUI, default settings for 'st net yt' or default path to be looked for iso files from 'st iso usb'. * scripts Will be empty until you create a script using: "st conf scripts new [NAME] -s" or 'newScript [NAME] -s" Here you may sort your scripts using folders and access them easy with: "st custom [FOLDER] [FOLDER...] SCRIPTNAME" * st This is actualy the only conf section that you propably 'require' to change. As this section lets you set your favorite editors for GUI/CLI as well as (some of) the default paths script-tools uses Structure (Code Handling) ------------------------------ In theory ;) $stDir represents the folder where script-tools resides. By default (rpm installation) this should be /usr/share/script-tools. Script-Tools then loads all configurations and functions from within its subdirs, and starts to pars arguments, if none, using "sMenu $stDir/$GUISTYLE/", where $GUISTYLE is either UI_CLI or UI_GUI (much later!). sMenu opens the passed folder and looks for diffrent files. default.info, default.help, default.$FOLDERNAME Structure ------------------------------ After successfull installation, there is a new variable around, which is called stDir. $stDir is usualy /usr/share/script-tools, but may differ. Either way, $stDir will be that path. Path Description -------------------------------------------------------------------- $stDir/. Contains the executeable script $sst and a symlink to load the environment. $stDir/Configuration_Variables Contains the default configuration for the scripts. To overwrite default values, simply copy the files here to: $HOME/bin/$USER-libs, those files will be read after $stDir/cfg. $stDir/Documention (\$SEA_DOC_DIR) Contains README and a CommandList which was generated using a script. The CommandList contains the functions of the scripts in $stDir/libs, so you can use them in your scripts. $stDir/Documention/Manual Once the script is done, this folder will contain the manpages. $stDir/Script-Core Internal Templates, or script to generate such. $stDir/Included_Functions (\$SEA_INCLUDE_DIR) Scripts which provide some of the functinos used in the scripts. $stDir/Configuration_Lists Contains various lists, of minimal packages, of login-managers, default paths, and similar $stDir/UI_CLI (\$SEA_CLI_DIR) This is the base directory from where the Script Tools is parsing the menu. ------------------------------ ////////////////////////////// ------------------------------ Manual IN PROGRESS ------------------------------ 1) st 2) st dev 3) st dev prj 4) st dev sf 5) st dev rpm 6) st dev nas 7) st iso dl-fedora 8) st iso live-image-beta 9) st iso usb 10) st sa ------ todo ------ -----------------In Progress -------------- START 11) st set 12) st set alias 13) st set stage 14) st set users 15) st set pkgs 16) st set lm 17) st set lm deskfile 18) st set lm lxdm 19) st set lm lxdm install 20) st set lm lxdm autologin-name 21) st set lm lxdm autologin-toggle 22) st set lm lxdm bg-image 23) st set lm lxdm bg-style 24) st set lm slim 25) st set lm slim install 26) st set lm slim def-usr-name 27) st set lm slim def-usr-toggle 28) st set lm slim edit-session (not working) 29) st set lm slim autologin-toggle (not working) -----------------In Progress -------------- END 30) st tweak 31) st tweak default-dirs 32) st tweak grub2 33) st tweak plymouth 34) st tweak services 35) st $USER ------------------------------ Section: dev, stands for developer and device ------------------------------ This section is based upon projects, created by the file prj of this folder. Each project is called LABEL. The LABEL is thought to be a short term phrase, without spaces, like an abrvehiation (abr), for easy CLI access and reusability. The configuration files of these scripts will be stored in $SEA_PROJECT_DIR. st dev prj | [ LABEL ARGUMENT ] ---------- Arguments: n | New LABEL e | Edit LABEL r | Remove LABEL st dev sf | [ LABEL ARGUMENT ] ---------- Arguments: n | New LABEL e | Edit LABEL b | Branch LABEL (with GIT, alpha, svn not yet supportet) u | Upload LABEL d : Download LABEL (alpha) st dev rpm | [ LABEL ARGUMENT ] ---------- Arguments: n | New LABEL c | Changelog LABEL s | Specfile LABEL b | build LABEL To download your upstream project, simply type: st dev sf LABEL d Now you may branch it with GIT: st dev sf LABEL b [BRANCH] Verify the spec file: st dev rpm LABEL s Package your project with rpmbuild: st dev rpm LABEL b
Script-Tools Files
A collection of tools written in BASH for Linux
Status: Beta
Brought to you by:
eratsea