Linux学习笔记
来源:互联网 发布:规模以上 知乎 编辑:程序博客网 时间:2024/04/24 13:29
今天学习了bash的部分内容:
重定向:
ls>./a.txt 将ls命令的执行结果输出到a.txt(前提:如果a.txt不存在则创建a.txt,否则清空a.txt文件)
ls>>./a.txt 将ls命令的执行结果追加到a.txt文件末尾(前提:如果a.txt不存在则创建a.txt)
编辑文件hello:
#!/bin/bash--------------------------------------------------------------表示确定文件是bash程序,需要由/bin目录下的bash程序解释执行
#this is a simple program---------------------------------------------#表示后面的语句为注释语句
echo hello world---------------------------------------------------------echo 将后面的字符串输出到标准输出中
hello=HELLO-------------------------------------变量和值以”=“连结,”=“两边不可以有空格(如值有空格,则需要给值加上单引号或双引号)。bash变量可以直接使用,不需要定义类型。如果变量没有赋值,直接使用的话,变量的值会默认为空(即null)
a=a1
b=b1
c=1
d=1
if[$a = $b]-------------------------------------- =表示相同(字符比较)。变量在引用时需加上“$”,第一次赋值和for循环的头部不需要
then
echo “$1"
elif[$c -eq $d]--------------------------------------- -eq表示相等(数值比较)
then
echo equal
else
echo error
fi ----------------------------------------if语句结束语
for i in 1 2 3 4 5
do
echo $i
done
function hello(){
local hello=hello1----------------------------------------定义hello为局部变量(bash中的变量的默认有效范围为当前程序,可使用local定义局部变量)
echo hello ----------------------------------------结果:hello
}
echo hello ----------------------------------------结果:HELLO
exit 0 ----------------------------------------退出当前shell,0表示”成功“
bash程序执行(Linux会另外开一个进程来运行bash):
1、直接执行bash程序,命令:
$ bash hello---------------------------------------------------执行bash程序hello,在屏幕上显示hello world
$ sh hello---------------------------------------------------------sh是指向bash的链接,执行结果同上
2、将hello文件改成可执行文件,然后直接运行该文件,命令:
$ chmod u+x hello
$ ./hello-----------------------------------------------------------当前目录不是当前用户可执行文件的默认目录(将当前目录“.”设为默认目录是一个不安全的设置),所以不能直接”$ hello”
因Linux是开新进程运行bash的,所以当前bash的变量可与其他bash程序的变量名相同,不会互相影响
myname=newname
echo $myname
输出结果:newname
myname =newname错误,bash变量赋值时“=”两边不可以有空格
myname1='new name'--------------------------------------------------myname1 的值为new name
myname="it's my $myname1"----------------------------------------双引号内的$myname1会显示myname1变量的值
echo $myname
输出结果:it's my new name
myname='it's my new name'------------------------------------------命令从左向右查找引号,以先遇到的为准。按下enter键后,需要继续输入字符,myname没有赋值成功。退出输入,需按Ctrl+C
myname=’it\'s my new\ name'----------------------------------------"\"为转义字符,myname的值为it's my new name????是否正确??
一般以大写表示环境变量,以小写表示用户自定义变量
bash中没有浮点类型变量,因为没有浮点运算
- linux学习笔记(1)
- LINUX命令学习笔记
- linux学习笔记(1)
- linux学习笔记(2)
- linux学习笔记(3)
- linux学习笔记
- linux学习笔记
- linux 学习笔记
- linux学习笔记二
- linux学习笔记
- linux学习笔记
- Linux学习笔记
- linux学习笔记
- linux学习笔记
- linux学习笔记
- LINUX 学习笔记(转)
- Linux学习笔记
- Linux 学习笔记
- HDU 1372(只是复习一下BFS)
- ORACLE9i_性能调优基础六(Optimizing Sort Operations)
- 敏捷开发只是工具; 热爱产品, 热爱客户才是真正该做的事
- pthread_key_t和pthread_key_create()详解
- 算法导论—红黑树(还没写完,先备份一个)
- Linux学习笔记
- tomcat deploy path
- 《linux从入门到精通》刘忆智 (我再次说, 这类书,入门是可以的, 精通则完全是忽悠骗人的)
- [十天学会Linux Shell]第一天:小试牛刀
- 第三章第六题
- 7.3 MaxDoubleSliceSum
- InputStream、InputStreamReader和Reader的关系
- JAVA守护线程与用户线程的区别
- eclipse或myeclipse,web项目无法自动编译,.classpath文件原因造成的