Libraries
The shell has no real concept of libraries in the way that Perl and C use libraries. In C, you can bring in the Math library by including its header file and linking against the library (simply called “m,” hence -lm in the following gcc call). Additional functions, including cos(), sin(), and tan(), are then available to the program.
$ cat math.c #include <stdio.h> #include <math.h> int main(int argc, char *argv[]) { int arg=atoi(argv[1]); printf("cos(%d)=%0.8f\n", arg, cos(arg)); printf("sin(%d)=%0.8f\n", arg, sin(arg)); printf("tan(%d)=%0.8f\n", arg, tan(arg)); return 0; } $ gcc -lm -o math math.c $ ./math 30 cos(30)=0.15425145 sin(30)=-0.98803162 tan(30)=-6.40533120 $ ./math 60 cos(60)=-0.95241298 sin(60)=-0.30481062 tan(60)=0.32004039 $ ./math 90 cos(90)=-0.44807362 sin(90)=0.89399666 tan(90)=-1.99520041 $
math.c
This sample C code does no sanity tests on its input and is only here to show how linking to a library works in the C language. Also, if its results look wrong, that is because it is working in radians and not degrees.
The shell has a few ways of defining standard settings — aliases, variables, and functions, which create an environment almost indistinguishable from a set of libraries. When your shell is invoked interactively, it reads ~/.profile ...
Get Shell Scripting: Expert Recipes for Linux, Bash, and More now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.