#粤嵌星计划,粤嵌我来了#粤嵌星计划
今日知识分享:
shell脚本的变量
1, 命名方式
Shell的变量命名方式与C语言类似:
只能由数字,字母,下划线组成,不能是数字开头
2, shell脚本变量声明
shell脚本的变量不需要声明数据类型,数据类型默认都是字符串类型
C语言: int i; / char ch; / float f;
Shell : str
3,shell变量的赋值时,等号两边不能有空格
C语言: int age = 20; // char *p = “helloworld”;
Shell : str=hello
4,变量的引用,需要在变量名前面加上 $
Shell:
Str=hello
echo $Str
5,变量的种类
C语言: 局部变量,静态变量,全局变量
Shell :
1) 普通用户自定义的变量 ==》4中的Str
2) 系统环境变量 ==》例如 PATH
==》可以通过env查看系统环境变量
修改环境变量 PATH ==》 把一个路径添加进去 /home/gec
export PATH=$PATH:/home/gec 临时修改(关闭终端,这修改就没有用)
==》想要永久修改,就把这个命令写入终端启动脚本 ~/.bashrc 最后一行
3) 命令行变量 $#$* 类似于C语言的argc与argv
C语言: int main(int argc, char *argv[]);
./hello aaabbb
argc = 3 , argv[1] = aaa; argv[2] = bbb;
shell :
./hello.sh aaaa bbbb
$# :命令行参数个数 2 个 (不包含 ./hello.sh)
$*: 代表所有参数 aaaa bbbb
$n : 第n个参数, $1 代表第一个参数aaaa , $2代表 bbbb
$? : 最后一个shell命令的返回值 shell命令执行:成功返回0,失败:非0
$$ : 代表当前进程的PID
今日知识分享:
shell脚本的变量
1, 命名方式
Shell的变量命名方式与C语言类似:
只能由数字,字母,下划线组成,不能是数字开头
2, shell脚本变量声明
shell脚本的变量不需要声明数据类型,数据类型默认都是字符串类型
C语言: int i; / char ch; / float f;
Shell : str
3,shell变量的赋值时,等号两边不能有空格
C语言: int age = 20; // char *p = “helloworld”;
Shell : str=hello
4,变量的引用,需要在变量名前面加上 $
Shell:
Str=hello
echo $Str
5,变量的种类
C语言: 局部变量,静态变量,全局变量
Shell :
1) 普通用户自定义的变量 ==》4中的Str
2) 系统环境变量 ==》例如 PATH
==》可以通过env查看系统环境变量
修改环境变量 PATH ==》 把一个路径添加进去 /home/gec
export PATH=$PATH:/home/gec 临时修改(关闭终端,这修改就没有用)
==》想要永久修改,就把这个命令写入终端启动脚本 ~/.bashrc 最后一行
3) 命令行变量 $#$* 类似于C语言的argc与argv
C语言: int main(int argc, char *argv[]);
./hello aaabbb
argc = 3 , argv[1] = aaa; argv[2] = bbb;
shell :
./hello.sh aaaa bbbb
$# :命令行参数个数 2 个 (不包含 ./hello.sh)
$*: 代表所有参数 aaaa bbbb
$n : 第n个参数, $1 代表第一个参数aaaa , $2代表 bbbb
$? : 最后一个shell命令的返回值 shell命令执行:成功返回0,失败:非0
$$ : 代表当前进程的PID
#粤嵌星计划##粤嵌星计划,粤嵌我来了#
(第三周第二次)
char * const p char const * p const char *p 三个有什么区别?
[定义理解]
char* const p; p为指向字符变量的指针,地址不变,地址内容可变
const char *p; p为指向字符变量的指针,地址可变,地址内容不变
char const *p 与const char *p等价。
[记忆方法]
const * p (不管char的位置,中文翻译就是常量的指针, 从左往右读,地址可变,地址内容不变)
* const p (一样从左往右读,指针常量,地址不变,地址内容可变)
const char * const p (指针不能变,指的量也不能变) https://t.cn/RuQ52aU
(第三周第二次)
char * const p char const * p const char *p 三个有什么区别?
[定义理解]
char* const p; p为指向字符变量的指针,地址不变,地址内容可变
const char *p; p为指向字符变量的指针,地址可变,地址内容不变
char const *p 与const char *p等价。
[记忆方法]
const * p (不管char的位置,中文翻译就是常量的指针, 从左往右读,地址可变,地址内容不变)
* const p (一样从左往右读,指针常量,地址不变,地址内容可变)
const char * const p (指针不能变,指的量也不能变) https://t.cn/RuQ52aU
#肖兔崽紫#
Your hair gleamed in the sun,
你的头发在阳光下闪闪发光,
You are my fantasy,
你是我的幻想,
That always saved me from the reality,
总是从现实中拯救我,
You mean the world to me,
对我来说你就是一切,
You know every time I see you,
每当我与你对视时,
you are so charming,
你都那么迷人。
——— 《us》
Your hair gleamed in the sun,
你的头发在阳光下闪闪发光,
You are my fantasy,
你是我的幻想,
That always saved me from the reality,
总是从现实中拯救我,
You mean the world to me,
对我来说你就是一切,
You know every time I see you,
每当我与你对视时,
you are so charming,
你都那么迷人。
——— 《us》
✋热门推荐