Linux的第二天{shell}(上)

2016-09-07  本文已影响0人  神奇的海螺丶

chmod 改变用户权限/属性

u代表当前用户

g代表同组用户

o其他

a所有用户

----------------------------------------------------------

Shell

运行shell脚本程序

1>增加1.sh的执行权限:chmod +x 1.sh ------->执行shell脚本:./1.sh

2>sh 1.sh

#只能注释单行

硬性规则:

1>标志符只能由数字,下划线,字母构成

2>不能由数字开头

3>不能与SHELL关键字相同

建议:

1>禁止使用汉语拼音,多查查字典

2>使用驼峰命名法,或者使用下划线连接

numberOfStudent      number_of_student

3>见名知义

变量的定义

1>变量一旦定义出来,就必须赋值

2>变量定义时,=左右两侧不要加空格

3>变量可以重新赋值

4>如果变量定义成readonly,代表这个变量不能被再次赋值

注意:shell脚本变量在没有定义的前提下,直接使用,这个变量默认为空

变量的使用

1>变量在使用时要在变量前加美元符号

2>在删除变量时,不需要加美元符号

变量使用加{}

1>避免使用不存在的变量

2>增加程序的可读性

删除变量unset

1>删除变量不需要加美元符

2>删除变量之后,再使用这个变量的时候默认为空

3>如果这个变量是只读变量,是不能删除这个变量的

echo命令

1>输出变量的值

2>自动换行

3>如果想对\c这种特殊字符进行转义

(1)./1.sh 必须要对echo开启转义 -e

value="hello"

echo -e "${value}\c"

echo "ni hao"

(2)sh 1.sh 不需要开启

value="hello"

echo "${value}\c"

echo "ni hao"

4>\c不换行\n换行\t相当于TAB键

/+想查找的内容 可以直接跳到该内容在的位置

vi 1.sh +N 或 进入vi后 esc shift+:+行数 直接进入第N行

求字符串长度

value="hello"

length=${#value}

echo ${length}

拼接字符串

value="hello"

value1="ni hao"

value2="${value} ${value1}"

echo ${value2}

注意:拼接时,中间空出的空格,无论出多少,只会默认空出一格

截取字符串 后面用./执行

value="hello world"

value1=${value:6:5}

echo ${value1}

注意:字符串从位置0开始,截取字符串时,要说明截取的起始位置和截取长度

echo输出加"",'',不加任何东西

1>加"",如果再双引号里输出变量,会当成字符串处理,增强可读性

2>不加任何东西,程序可读性变低,分不清哪些是命令和变量

注意:建议使用双引号

------------------------------------------------------

printf

1>不用像echo命令那么复杂

2>不具备自动换行

3>按照一定格式输出

4>输出双引号里面的东西

%d:输出整数

%s:输出字符串

%f:输出小数

%c:输出字符

注意:%d和%c输出类型比较严谨

上一篇下一篇

猜你喜欢

热点阅读