slidescript/misc/api/file-manipulation.html

127 lines
4.8 KiB
HTML

<!DOCTYPE html>
<html lang="en-US">
<head>
<title>SlideScript API: File manipulation ~ The Lazy Language</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="description" content="SlideScript API and Documentation section - SlideScript is a micro stripting language with the intent to give the world an effective shell like experience with the ability to use a sloppy syntax! SlideScript can do simple every day shell tasks like manipulating and working with files, and directories, piping, variable support, and backquoting, with a bit of spice like: built-in md5, and encoder / decoder, webserver, networking functions, tar and compression functions, PLUS MORE!" />
<link href="../style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table><tr><td>
<div class="header">
<img src="../sslogo.png" class="logoimg" title="SlideScript logo" alt="SlideScript" />
</div>
</td></tr><tr><td>
<div class="menu"><!--
--><a href="../index.html">Home</a><!--
--><a href="index.html">Documentation</a><!--
--><a href="https://notabug.org/Pentium44/slidescript">Git</a><!--
--></div>
</td></tr></table>
<div class="container">
<p>If you're following through the API documentation, chapter by chapter,
then you have a good idea of the foundation of the language in terms
of it's structure. Now for some features of SlideScript. File manipulation
is definitely something that can be tackled without a doubt. A selection
of functions within SlideScript that are file related are: isfile, isdir,
showdir (ls), showpath (pwd), move (mv), delete, chdir (cd), read, write,
and cat.<br /><br />
To be honest, how could SlideScript be shell like without having the
functionality of all the system utilities. Here's the kicker, everything
is built-in to the core of SlideScript, making it extremely versatile and
super simple! No dependency on other software!
<pre><code>
#!/usr/bin/slidescript
# File manipulation examples
# showdir: list directories/files in current directory.
# argument count: 0
# returns: file list.
showdir
ls # alias
# showpath: show current working directory location (alias pwd).
# argument count: 0
# returns: working directory path
showpath
pwd # alias
# chdir: Change directory
# argument count: 1, "path" ex: "docs/"; "/home/user"
# returns: No return
chdir "docs/"
showpath # Show return of change
# backdir: Back a directory / to parent directory (same as chdir "..")
# argument count: 0
# returns: No return
backdir
# isdir / isfile: Return true or false (0 or 1) on file / directory find.
# argument count: 1, "file/path" ex: "docs/README.txt"
# returns: true / false
isfile "docs/README.txt" # returns: true
isdir "docs/" # returns: true
isfile "docs/" # returns: false
# move: move file / rename file based on arguments.
# argument count: 2, "original" "new file name/location", ex: "docs/" "documents/"
# returns: no return
move "docs" "documents" # renamed docs -> documents
# delete: delete file (non-recursive)
# argument count: 1, "filename", ex: "docs/README.txt"
# return: no return
delete "docs/README.txt" # deletes README.txt inside docs/
# read: read contents of file given to function
# argument count: 1, "file", ex: "docs/README.txt"
# return: contents of file
read "docs/README.txt" # Returns contents of "README.txt"
# write: write contents to file.
# argument count: 2, "filename" "contents", ex: "test.txt" "Hello world!"
# return: no return
write "test.txt" "Hello world!"
# cat: catenate file with given contents
# argument count: 2, "file" "contents", ex: "test.txt" "I'm back!"
# return: no return
cat "test.txt" "I'm back!" # catenates "I'm back!" to the end of the original test.txt "Hello world!"
# Ending file contents of "test.txt":
# Hello world!
# I'm back!
</code></pre>
</p>
<h3>IRC server</h3>
<p>
Still need help? Want to report a bug? Join us!<br /><br />
IP/Port: cddo.cc/1337<br />
Main hang channel: <b>#theroot</b><br />
FreeBox channel: <b>#freebox</b><br />
FreonLinux channel: <b>#freonlinux</b>
</p>
</div>
<div class="footer">
&copy; Chris Dorman, 2021 <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode">CC BY-NC-SA 4.0</a> - Software GPLv2 licensed<br />
<p>
Powered by:<br />
<a href="https://freedns.afraid.org/">
<img style="width:100px;" src="https://freedns.afraid.org/images/freedns_crop.png" />
</a>
<a href="https://letsencrypt.org/">
<img style="width: 100px;" src="https://letsencrypt.org/images/le-logo-wide.png" />
</a>
<a href="http://jigsaw.w3.org/css-validator/check/referer">
<img style="border:0;width:80px" src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS!" />
</a>
</p>
</div>
</body>
</html>