Jason

独立开发,自由职业


  • 分类

  • 友链

  • 关于

  • 搜索

Shell 文件包含

发表于 2016-08-13 | 分类于 Shell

Shell 也可以包含外部脚本。这样可以很方便的封装一些公用的代码作为一个独立的文件。

1
2
3
. filename # 注意点号(.)和文件名中间有一空格
# or
source filename

Shell 函数

发表于 2016-08-13 | 分类于 Shell

shell中函数的定义格式如下:

1
2
3
4
5
[ function ] funname [()]
{
action;
[return int;]
}

说明:

  1. 可以带function fun() 定义,也可以直接fun() 定义。
  2. 返回值,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。return后跟数值n(0-255);调用方法和取得返回值之间,不能有任何操作,不然取不到return的值。

注意:所有函数在使用前必须定义。这意味着必须将函数放在脚本开始部分,直至shell解释器首次发现它时,才可以使用。调用函数仅使用其函数名即可。

阅读全文 »

Shell 流程控制

发表于 2016-08-13 | 分类于 Shell

if else

if else-if else 语法格式:

1
2
3
4
5
6
7
8
9
if condition1
then
command1
elif condition2
then
command2
else
commandN
fi

注意:sh的流程控制不可为空。如果else分支没有语句执行,就不要写这个else。

写成一行(适用于终端命令提示符):

1
if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi

甚至可以忽略 if 等结构,更加简写:

1
2
3
4
5
6
#!/bin/bash
a=1
b=1
[ $a == $b ] && echo "$a equals $b"
阅读全文 »

Shell printf 命令

发表于 2016-08-13 | 分类于 Shell

printf 命令模仿 C 程序库(library)里的 printf() 程序。标准所定义,因此使用printf的脚本比使用echo移植性好。
printf 使用引用文本或空格分隔的参数,外面可以在printf中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。
默认printf不会像 echo 自动添加换行符,我们可以手动添加 \n。

printf 命令的语法:printf format-string [arguments...]
参数说明:
format-string: 为格式控制字符串
arguments: 为参数列表。
实例如下:

1
2
3
4
5
6
7
8
#!/bin/bash
printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg
printf "%-10s %-8s %-4.2f\n" 郭靖 男 66.1234
printf "%-10s %-8s %-4.2f\n" 杨过 男 48.6543
执行脚本,输出结果如下所示:
姓名 性别 体重kg
郭靖 男 66.12
杨过 男 48.65
  • %s %c %d %f都是格式替代符
  • %-10s 指一个宽度为10个字符(-表示左对齐,没有则表示右对齐),任何字符都会被显示在10个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。
  • %-4.2f 指格式化为小数,其中.2指保留2位小数。
阅读全文 »

Shell echo命令

发表于 2016-08-13 | 分类于 Shell

显示普通字符串:

1
echo "It is a test"

显示转义字符

1
echo "\"It is a test\""

结果将是:

1
"It is a test"
阅读全文 »
1…554555556…626
Jason

Jason

记录一位独立开发者的精进之路,分享自由职业者的生存方式。

3129 日志
9 分类
5 标签
RSS
GitHub Twitter Weibo
Links
  • Toolinbox
© 2011 - 2025 Jason 浙ICP备16002197号