xrsh-com/com/isoterminal/mnt/profile

59 lines
1.5 KiB
Plaintext
Raw Normal View History

install_xrsh(){
setup_binaries(){
for bin in /mnt/prompt /mnt/alert /mnt/confirm /mnt/hook /mnt/js*; do
chmod +x $bin
ln -s $bin /bin/.
done
}
setup_browser_dev(){
mkdir -p /mnt/dev/browser
touch /mnt/dev/browser/js
touch /mnt/dev/browser/html
touch /mnt/dev/browser/console
ln -s /mnt/dev/browser /dev/browser
test -f /etc/profile && rm /etc/profile
ln -s /mnt/profile /etc/profile
}
setup_hook_dirs(){ # see /mnt/hook for usage
mkdir -p ~/hook.d/alert
mkdir -p ~/hook.d/confirm
mkdir -p ~/hook.d/prompt
echo -e "#!/bin/sh\necho yo" > ~/hook.d/alert/yo
echo -e "#!/bin/js\nalert('yo')" > ~/hook.d/alert/yo.js
echo -e "#!/usr/bin/lua\nalert('yo')" > ~/hook.d/alert/yo.lua
}
setup_binaries
setup_browser_dev
setup_hook_dirs
}
test -d /dev/browser || install_xrsh
test -f /mnt/V86 && {
mount -a
udhcpc 1>>/var/log/network.log 2>>/var/log/network.log &
echo 0 > /proc/sys/kernel/printk
}
## forward not-found commands to javascript (via jsh)
command_not_found_handle(){
echo "$1 not found"
alert "did you mean $1(...) (javascript?)"
alert "TIP: run 'jsh $1 hello' to run $1('hello')"
alert " or simply 'jsh' for a js console"
}
# source javascript functions
#js "$(cat /mnt/profile.js)"
resize
#clear
cat /mnt/motd
export PATH=$PATH:/mnt
export PS1="\nxrsh # \033[0m"
export BROWSER=0 # running inside v86 (wasm) will set this to 1