linux_shell_read
3. shell语法——read命令read命令用于从标准输入中读取单行数据。当读到文件结束符时,exit code为1,否则为0。
参数说明
-p: 后面可以接提示信息
-t:后面跟秒数,定义输入字符的等待时间,超过等待时间后会自动忽略此命令
实例:
12345678acs@9e0ebfcd82d7:~$ read name # 读入name的值acwing yxc # 标准输入acs@9e0ebfcd82d7:~$ echo $name # 输出name的值acwing yxc #标准输出acs@9e0ebfcd82d7:~$ read -p "Please input your name: " -t 30 name # 读入name的值,等待时间30秒Please input your name: acwing yxc # 标准输入acs@9e0ebfcd82d7:~$ echo $name # 输出name的值acwing yxc # 标准输出
linux_shell_printf
hell语法——printf命令
printf命令用于格式化输出,类C/C++中的printf函数。
默认不会在字符串末尾添加换行符。
命令格式:
1printf format-string [arguments...]
用法示例脚本内容:
1234printf "%10d.\n" 123 # 占10位,右对齐printf "%-10.2f.\n" 123.123321 # 占10位,保留2位小数,左对齐printf "My name is %s\n" "yxc" # 格式化输出字符串printf "%d * %d = %d\n" 2 3 `expr 2 \* 3` # 表达式的值作为参数
输出结果:
1234 123.123.12 .My name is yxc2 * 3 = 6
linux_shell_expr
3. shell语法——expr命令expr命令用于求表达式的值,格式为:
1expr 表达式
表达式说明:
用空格隔开每一项
用反斜杠放在shell特定的字符前面(发现表达式运行错误时,可以试试转义)
对包含空格和其他特殊字符的字符串要用引号括起来
expr会在stdout中输出结果。如果为逻辑关系表达式,则结果为真,stdout为1,否则为0。
expr的exit code:如果为逻辑关系表达式,则结果为真,exit code为0,否则为1。
字符串表达式
length STRING返回STRING的长度
index STRING CHARSETCHARSET中任意单个字符在STRING中最前面的字符位置,下标从1开始。如果在STRING中完全不存在CHARSET中的字符,则返回0。
substr STRING POSITION LENGTH返回STRING字符串中从POSITION开始,长度最大为LENGTH的子串。如果POSITION或LENGTH为负数,0或非数值,则返回空字符串。
示例:
12345str="Hello World!&qu ...
linux_shell_exit
3. shell语法——exit命令exit命令用来退出当前shell进程,并返回一个退出状态;使用$?可以接收这个退出状态。
exit命令可以接受一个整数值作为参数,代表退出状态。如果不指定,默认状态值是 0。
exit退出状态只能是一个介于 0~255 之间的整数,其中只有 0 表示成功,其它值都表示失败。
示例:
创建脚本test.sh,内容如下:
12345678910! /bin/bashif [ $# -ne 1 ] # 如果传入参数个数等于1,则正常退出;否则非正常退出。then echo "arguments not valid" exit 1else echo "arguments valid" exit 0fi
执行该脚本:
123456789acs@9e0ebfcd82d7:~$ chmod +x test.sh acs@9e0ebfcd82d7:~$ ./test.sh acwingarguments validacs@9e0ebfcd82d7:~$ echo $? # 传入一个参数,则正常 ...
linux_shell_echo
3. shell语法——echo命令echo用于输出字符串。命令格式:
1echo STRING
显示普通字符串
12echo "Hello AC Terminal"echo Hello AC Terminal # 引号可以省略
显示转义字符
12echo "\"Hello AC Terminal\"" # 注意只能使用双引号,如果使用单引号,则不转义echo \"Hello AC Terminal\" # 也可以省略双引号
显示变量
12name=yxcecho "My name is $name" # 输出 My name is yxc
显示换行
1234567echo -e "Hi\n" # -e 开启转义echo "acwing"输出结果:Hiacwing
显示不换行
12345echo -e "Hi \c" # -e 开启转义 \c 不换行echo "acwing"输出结果:Hi ...
linux_常用文件管理命令
1 常用文件管理命令1. 常用命令介绍12345678910111213141516(1) ctrl c: 取消命令,并且换行(2) ctrl u: 清空本行命令(3) tab键:可以补全命令和文件名,如果补全不了快速按两下tab键,可以显示备选选项(4) ls: 列出当前目录下所有文件,蓝色的是文件夹,白色的是普通文件,绿色的是可执行文件(5) pwd: 显示当前路径(6) cd XXX: 进入XXX目录下, cd .. 返回上层目录(7) cp XXX YYY: 将XXX文件复制成YYY,XXX和YYY可以是一个路径,比如../dir_c/a.txt,表示上层目录下的dir_c文件夹下的文件a.txt(8) mkdir XXX: 创建目录XXX(9) rm XXX: 删除普通文件; rm XXX -r: 删除文件夹(10) mv XXX YYY: 将XXX文件移动到YYY,和cp命令一样,XXX和YYY可以是一个路径;重命名也是用这个命令(11) touch XXX: 创建一个文件(12) cat XXX: 展示文件XXX中的内容(13) 复制文本 windows/Lin ...
linux_vim_tmux
2 vim和tmux1. tmux教程12345678910111213141516171819202122232425262728293031323334353637383940414243444546功能: (1) 分屏。 (2) 允许断开Terminal连接后,继续运行进程。结构: 一个tmux可以包含多个session,一个session可以包含多个window,一个window可以包含多个pane。 实例: tmux: session 0: window 0: pane 0 pane 1 pane 2 ... window 1 window 2 ... session 1 session 2 ...