#!/bin/bash#this is the first shell demodatewho
在终端中运行该文件,第一次会出现command not found 错误,系统没有找到这个脚本文件,因为系统会在PATH环境变量里面指定的地方去查找命令。查看PATH环境变量的值:echo $PATH,你会发现值里面没有放置你写的shell命令的文件夹,这种时候有两种解决办法:
(1)将shell脚本文件所在的目录添加到PATH环境变量中(具体添加方式也有几种:例如export命令,或者直接修改.profile文件,这个可以查看环境变量文件介绍)
(2)在命令行中使用文件的绝对路径或者相对路径来引用shell脚本(例如在shell脚本的当前目录下执行 ./shell_test)
解决上述问题以后,开始执行该脚本,不幸的是又报错了“Permission denied”,权限不够,查看一下该文件的权限设置:
-rw-r--r-- 1 csc csc 51 2012-02-16 10:42 shell_test
#!/bin/bash#this is the first shell demoecho 系统时间是:date#得到环境变量echo 当前登录用户的UID:$UIDecho 当前登录用户的名称:$LOGNAME#设置用户变量var1=20var2="this is var2"var3="this is var3"echo The value of var1 is:$var1echo The value of var2 is:$var2echo The value of var3 is:$var3运行结果:
当前登录用户的UID:1000
当前登录用户的名称:csc
The value of var1 is:20
The value of var2 is:this is var2
The value of var3 is:this is var3
#!/bin/bash#this is the first shell demoecho 系统时间是:date#得到环境变量echo 当前登录用户的UID:$UIDecho 当前登录用户的名称:$LOGNAME#设置用户变量var1=20var2="this is var2"var3="this is var3"echo The value of var1 is:$var1echo The value of var2 is:$var2echo The value of var3 is:$var3#创建日志文件,下面使用的是反引号,意思是执行date命令filename=`date +%y%m%d`# >代表的是重定向输出,将ls /home/csc -al的输出写入到log.$filename文件中,filename是变量名称ls /home/csc -al > log.$filename
运行,你可以查看一下脚本的当前目录中出现了一个文件,看到文件的名字就了然了……
至此:shell之旅就正式开始了,也是学习shell的开始。推荐《Linux 命令行和shell脚本编程宝典》这本书,将的比较明白,这边文章也是出自学习该书之后……
[1]《Linux 命令行和shell脚本编程宝典》
作者:cscmaker 发表于2012-2-16 12:29:26 原文链接