shell脚本

shell脚本调试

bash -n /path/to/some_script #检测脚本中的语法错误

bash -x /path/to/some_script #跟踪调试执行,显示每一步的执行结果

变量

字符串变量

name="ABC" #开辟一块内存,存入字符串ABC,name绑定到这块内存

name="XYZ" #开辟一块新的内容,存入字符串XYZ,name绑定新的内存,原先的内存被标记为可覆盖

如果字符串本身包含空格等字符,加上单/双引号可保留

name="A BC"

name='AB C'

`command`可以嵌套命令结果

name=`hostname`

echo “变量”,可保留变量格式

name=`cat /etc/passwd`

echo=$name #所有内容显示在一行

echo="$name" #按变量内容格式显示

bash变量是弱类型

bash不支持浮点数运算

bash中变量的种类

根据变量的生效范围等标准划分为:

局部变量

生效范围为当前shell进程;对当前shell之外的其他shell进程,包括当前shell的子shell进程均无效

变量不向子进程传递,也不接受子进程的变量

环境(全局)变量

生效范围为当前shell进程及子进程

使用export 或者 declare -x 关键字将变量声明为全局变量。先赋值再声明,或声明赋值合并。

name="wang"
export name

export name="wang"

declare -x #查看所有环境变量

env #查看所有环境变量

set #显示所有变量(包括自定义的)

变量可以传递给子进程,但不接受子进程的修改

使用 unset 关键字删除变量

本地变量

生效范围为当前shell进程中某代码片段,通常至函数

位置变量

$1,$2,$3……来表示,用于让脚本在脚本代码中调用通过命令行传递给它的参数

特殊变量

$?,$0,$*,$@,$$,$#

只读变量

readonly name #声明只读变量

declare -r name #声明只读变量

readonly -p #查看只读变量

小括号()的用法

(cmd) #括号内的命令在一个子shell中执行,不影响当前环境,“一次性的执行,用后不对当前环境造成影响”

小括号开启的子shell会继承父shell的变量,但是不影响父shell的变量

大括号{cmd;}的用法

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇