君正X系列开发3---shell编程
shell可以实现输入,输出重定向,< >
使用管道 | 在同时执行的程序间传递数据
使用$(...)获取子进程的输出
管道可以实现两个进程之间的通讯,并且可以协调相互运行。
检查脚本是否是脚本程序:file name
cui@cui-vir:~/tmp/shell$ file first
first: POSIX shell script, ASCII text executable
编写第一个shell脚本
#!/bin/sh
for file in *
do
if grep -q POSIX $file
then
echo $file
fi
done
exit 0
添加可执行权限,chmod +x first
然后在当前目录执行./first
添加./是一个好习惯
shell对大小写敏感:foo Foo FOO是不同的在shell中我们可以通过在变量名前添加$符号访问他的内容;无论何时想要获取变量内容,都应该在它前面添加$;$salution="Yes Dear"$echo $salution注意,如果字符串包含空格,就必须使用引号将他们括起来,还要注意等号两边不能有空格
引号的使用:
一般情况下,脚本文件中的参数以空白字符分隔,如果想在一个参数中包含一个或多个空白字符,
必须给参数加上引号。
单引号不会发生替换现象,字符串一般放在双引号中,以防止他们被空白字符分开,但允许扩展$.
#!/bin/sh
myvar="Hello there"
echo $myvar
echo "$myvar"
echo '$myvar'
echo \$myvar
echo Enter some text
read myvar
echo '$myvar' now equals $myvar
exit 0
cui@cui-vir:~/tmp/shell$ ./myvar
Hello there
Hello there
$myvar
$myvar
Enter some text
Hello World
$myvar now equals Hello World
参数
$0 shell脚本的名字
$# 传递给脚本的参数个数
$$ shell脚本的进程号
$@ IFS为空时,参数值不会结合在一起,而$*会结合在一起
$1,$2... 脚本的参数
[ 或test 命令
请记住:shell脚本程序中的变量扩展都是在脚本程序被执行的时而不是编写时完成的。
所以,变量声明中的语法错误只有在执行是才会发现。
$(command)的用法:
if [ ];then
statements
elif [ ];then
statements
else
statements
fi
for val in val_list
do
statements
done
while condition do
statements
done
case varible in
pattern [ | pattern ]...)statements;;
pattern [ | pattern ]...)statements;;
pattern [ | pattern ]...)statements;;
esac
&& ||
函数:
function (){
statements
}
export 被导出的变量构成从该shell衍生的任何子进程的环境变量。
原文链接:https://blog.csdn.net/cyf15238622067/article/details/76223973
- 分享
- 举报
-
浏览量:2532次2020-07-28 10:56:05
-
浏览量:2733次2020-07-28 10:58:45
-
浏览量:2394次2020-07-29 18:20:36
-
浏览量:6571次2020-08-10 19:44:10
-
2020-07-29 18:32:39
-
浏览量:2761次2020-02-17 19:21:02
-
浏览量:669次2023-12-11 16:42:16
-
浏览量:510次2024-01-11 17:50:15
-
浏览量:726次2023-12-27 15:36:57
-
浏览量:4019次2020-12-28 10:36:15
-
浏览量:3745次2020-08-30 10:56:46
-
浏览量:2941次2019-11-08 13:56:39
-
浏览量:2008次2023-09-19 16:02:04
-
浏览量:9413次2020-11-26 16:37:03
-
浏览量:3388次2020-07-28 19:20:20
-
浏览量:7671次2021-03-02 19:11:24
-
浏览量:2674次2020-08-11 10:41:17
-
浏览量:2016次2020-08-10 19:45:11
-
浏览量:4135次2020-11-07 11:25:10
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
夜墨11111
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明