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输出类型比较严谨