用心,再用心,看了坚持了17年高考的唐尚珺,终于准备读大学了。感慨良久,嵌入式也是一条长路呀。
vim hello.sh,然后在hello.sh中输入
#!/bin/bash
#shell 特定的开头格式,表示该脚本采用哪个Shell解释执行,如果没有此句表示采用默认的Shell执行脚本
echo -e "my ljunn"
# -e开启转义 #除第一行外,其他都是注释 ,注释正确的话,在终羰下会显示为绿色。 #要顶格写
Shell 脚本是一种弱类型语言,在脚本当中使用变量不需要也无法指定变量的“类型”。缺省状态下,Shell 脚本的变量都是字符串,即一连串的单词列表。共有3种变量:用户自定义变量,环境变量、内部变量
#!/bin/bash
count=1 #用户自定义变量
echo $count
name="liuj" #赋值号右边只有一个单词,如果是词组必须用双引号括起来,并且,赋值号两边都没有空格
echo $name # 变量引用
echo $HOME
#HOME 大写是一个环境变量 表示home路径
unset name #unset删除变量name
echo ${name}
主要的环境变量有:
$LOGNAME 用户登录名
$LANG 语言设置
$HOME 用户自己的主目录
$PSI Shell命令行提示符
$HOSTNAME 主机名
$PS2 命令未完成输入时,再输入时的提示符
$SHELL Shell路径
$MANPATH man命令的搜索路径
$PATH 命令执行时的搜索路径
export表示让设置的环境变量立刻生效。清除用 unset [变量名]
#!/bin/bash
# export 导出一个环境变量
export MY_NAME="liuj"
env | grep MY_NAMEenv #可显示当前用户的所有环境变量
set
#env命令和set命令的区别是,set命令可以查看所有变量,而env命令只能查看环境变量
# 命令行变量
$0 与键入的命令行一样,包含脚本文件名
$1,$2,……$9 分别包含第一个到第九个命令行参数
$# 包含命令行参数的个数 ### 可以理解为数组的下标,是实际的参数的个数,$@ 包含所有命令行参数:“$1,$2,……$9”
$* 与上面命令一样$? 包含前一个命令的退出状态,返回0,表示上一条命令执行正确,其他任何值都表明有错误
$$ 包含正在执行进程的ID号
$! 后台运行的最后一个进程的ID号
# 系统预定义的变量
echo $PATH
echo $PWD新建一个.sh文件,输入
#!/bin/bash
echo 正在执行脚本名称是$0
echo 第一个参数age=$1
echo 第二个参数是address="$2"
echo 全部的参数是 $*然后在终端输入:xx.sh 12 shandong
会显示出这行命令行的参数。
大体的意思就是说,xx.sh a b c ;shift 2 #执行后结果就是只有实参c了
将一个命令所达成的结果,给到另一个命令进行再加工,如ls -l | wc
ls -l 负责收集当前目录
下的文件的信息,然后将这些文件名作为结果输送到管道,wc 这个命令接着从管道
本文发布于:2024-01-31 10:20:21,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170666763427822.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |