lalbert / bash-writer
Write quickly and easily bash scripts with PHP
dev-develop
2016-09-30 12:50 UTC
Requires
- php: >=5.5
- symfony/console: ^2.5 || ^3.0
Requires (Dev)
- codacy/coverage: dev-master
- phpunit/phpunit: ~4.8 || ~5.3
This package is auto-updated.
Last update: 2024-12-24 21:54:49 UTC
README
Write quickly and easily bash scripts with PHP.
PHP Bash Writer is not designed to run bash script but only to facilitate writing scripts by adding styles (color, bold, ...) on the output.
Internally it uses symfony/console to manage the color and styles (see OutputFormatter).
Installation
The best way to install PHP Bash Writer it use composer
composer require lalbert/bash-writer
Usage
$sh = new BashWriter(); $sh->addCommand('#!/bin/bash', ['print' => false]); $sh->newLine(); // Add new blank line only in file, not on output $sh->newLine(true); // Add new line on output (write "echo") $sh->addCommand('cd $HOME'); // print 'cd /home/user' and run command $sh->addCommand('ls -la', ['print' => 'List files in <comment>`(pwd)`</comment> folder']); // print 'List files in `(pwd)` folder' whith result of pwd in yellow, and run command $sh->addCommand('touch <bg=yellow;options=bold>file.txt</>'); // print 'touch file.txt' with 'file.txt' in yellow and bold, and run 'touch file.txt' $sh->addCommand('echo "content file" > file.txt', ['print' => false]); // add content in file.txt, shows nothing $sh->newLine(true); $sh->output('<info>Done</info>'); // print "Done" in green text // save script in script.sh file file_put_contents('script.sh', $sh);
Now, the file script.sh
contains the following script:
#!/bin/bash echo echo -e "cd $HOME" cd $HOME echo -e "List files in ^[[33m`(pwd)`^[[39m folder" ls -la echo -e "touch ^[[43;1mfile.txt^[[49;22m" touch file.txt echo "content file" > file.txt echo echo -e "^[[32mDone^[[39m"