Skip to main content

bash scripting

touch hello.sh
#! /bin/bash
#this is a comment
echo "hello world"
-------------------------------------------------------------------------------------------------------
print to screen : echo
echo 'hey'
echo hello
echo "hey "

variables are not parsed in single quoted echo

--------------------------------------------------------------------------------------------------
system variables  : env, printenv , set command
echo $HOME
echo $BASH
echo $BASH_VERSION
echo $PWD
echo $PATH
-------------------------------------------------------------------------------------------------------
user defined variable : varname=valueofvar
name=myname
echo my name is $name

variable naming:not starting with number and no special characters except _
----------------------------------------------------------------------------------------------------------

reading user input: read
echo enter name
read name
echo hello $name
echo enter age and sex
read name1 name2 name3
echo  $name1 $name2 $name3

read -p 'what is your user name: ' u_name #input with prompt
read -sp 'password: ' pass #silent/hidden input

reading array
read -a names
echo ${names[0]} ${names[1] }

default variable name : REPLY
read
echo $REPLY
 ----------------------------------------------------------------------------------------------------------------
passing arguments 
 # arguments are stored in $1 $2 ............
echo $1 $2 $3
$0  stores script name

hello.sh arg1 arg2 agr3 ... argn
[email protected] stores passed arguments as array
echo [email protected]

echo #
#prints number of arguments passed

-----------------------------------------------------------------------------------------------------
 IF- Else- ELseif

syntax
if [ condition ]
then
statement
fi

count=2
if [$count -lt 3 ]
then
echo its less than 3
fi

integer comparision

-eq =equal to
-ne =not equal to
-gt =greater than
-ge = greater tahn equal to
-lt = less than
-le = less than equal to

to use ==,!=,<,<=,>,>= we need double (()) parenthesis

example: if (($var<10 p="">
string comparision
= :equal to [ "$a" = "$b" ]
== :equal to [ "$a" == "$b" ]
!= :not equal [ "$a " !=  "$b" ]
<:less a="" alphabetical="" ascii="" b="" br="" in="" nbsp="" order="" than="">
>:greater than in ascii order  [["$a" > "$b"]]
-z :is null string

# using angle brackets in string needs double [[]] parenthesis

else and elseif condition 

if [ conditiion ]
then
statement
elif [ condition ]
then
statement
else
statement
fi
<10 p="">
<10 p="">
<10 p="">
<10 p="">
<10 p="">
<10 p="">
<10 p="">
<10 p="">
file test operator

<10 p="">
<10 p="">
<10 p="">
<10 p="">
echo -e "enter the name of file: \c"
<10 p="">read file_name
<10 p="">if [ -e $file_name ] 
<10 p="">then 
<10 p="">echo "file found"
<10 p="">else 
<10 p="">echo "file not found"
<10 p="">fi

<10 p="">-e enables escape sequence interpretation   
<10 p="">\c keep cursor in same line



Comments

Popular posts from this blog

fix idm integration on chrome

Chrome Browser Integration I do not see IDM extension in Chrome extensions list. How can I install it?  How to configure IDM extension for Chrome? Please note that all IDM extensions that can be found in Google Store are fake and should not be used. You need to install IDM extension manually from IDM installation folder. Read in step 2 how to do it . 1. Please update IDM to the latest version by using  "IDM Help->Check for updates..."  menu item 2.  I don't see  "IDM Integration module"  extension in the list of extensions in  Chrome . How can I install it? Press on  Chrome  menu ( arrow 1  on the image), select  "Settings"  menu item ( arrow 2  on the image) and then select  "Extensions"  tab ( arrow 3  on the image). After this open IDM installation folder ( "C:\Program Files (x86)\Internet Download Manager"  by default,  arrow 4  on the image) and drag and drop  "IDMGCExt.crx"  ( arrow 5  on the image) file int

sxhkd volume andbrightness config for dwm on void

xbps-install  sxhkd ------------ mkdir .config/sxhkd cd .config/sxhkd nano/vim sxhkdrc -------------------------------- XF86AudioRaiseVolume         amixer -c 1 -- sset Master 2db+ XF86AudioLowerVolume         amixer -c 1 -- sset Master 2db- XF86AudioMute         amixer -c 1 -- sset Master toggle alt + shift + Escape         pkill -USR1 -x sxhkd XF86MonBrightnessUp          xbacklight -inc 20 XF86MonBrightnessDown          xbacklight -dec 20 ------------------------------------------------------------- amixer -c card_no -- sset Interface volume run alsamixer to find card no and interface names xbps-install -S git git clone https://git.suckless.org/dwm xbps-install -S base-devel libX11-devel libXft-devel libXinerama-devel  vim config.mk # FREETYPEINC = ${X11INC}/freetype2 #comment for non-bsd make clean install   cp config.def.h config.h vim config.h xbps-install -S font-symbola #for emoji on statusbar support     void audio config xbps-i

Hidden Wiki

Welcome to The Hidden Wiki New hidden wiki url 2015 http://zqktlwi4fecvo6ri.onion Add it to bookmarks and spread it!!! Editor's picks Bored? Pick a random page from the article index and replace one of these slots with it. The Matrix - Very nice to read. How to Exit the Matrix - Learn how to Protect yourself and your rights, online and off. Verifying PGP signatures - A short and simple how-to guide. In Praise Of Hawala - Anonymous informal value transfer system. Volunteer Here are five different things that you can help us out with. Plunder other hidden service lists for links and place them here! File the SnapBBSIndex links wherever they go. Set external links to HTTPS where available, good certificate, and same content. Care to start recording onionland's history? Check out Onionland's Museum Perform Dead Services Duties. Introduction Points Ahmia.fi - Clearnet search engine for Tor Hidden Services (allows you