什么是Shell
来看看它长啥样吧!
#!/bin/sh # 第一行指定脚本解释器
echo "first shell" #输出文本"first shell"
cd ~ #进入当前用户home目录
mkdir Test #创建Test文件夹
if [ ! $? -eq 0 ]; then #if条件操作, !表示取反, $?表示上一个命名执行结果(执行成功为0)
echo "创建文件夹失败"
else
echo "创建文件夹成功"
fi
cd Test #进入创建文件夹
is_true=0 #shell一般用0标识true, 非0标识false
echo "使用变量$is_true"
shell学习
shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson的sh是第一种Unix Shell,Windows Explorer是一个典型的图形界面Shell。
shell脚本(shell script),是一种为shell编写的脚本程序。业界所说的shell通常都是指shell脚本,但读者朋友要知道,shell和shell script是两个不同的概念
shell脚本可以用于部分、简短、功能化操作。比如利用shell操作目录,自动化操作,自动化打包,调用其他软件等
1.shell 教程
shell教程 --菜鸟
shell教程 -- w3school
高级Bash脚本编写指南 (英文)非常全面,有很多小实例,完全指南。
nuix/Linunx Shell programming 非常好的指南
获取当前用户
#用户id 数字
echo "$UID"
#用户名
echo "$USER"
whoami # i am who
文件路径截取
示例路径 file = /dir1/dir2/dir3/my.file.txt
我们可以用${ }分别替换获得不同的值:
${file#*/}:拿掉第一条/及其左边的字串:dir1/dir2/dir3/my.file.txt
${file##*/}:拿掉最后一条/及其左边的字串:my.file.txt
${file#*.}:拿掉第一个.及其左边的字串:file.txt
${file##*.}:拿掉最后一个.及其左边的字串:txt
${file%/*}:拿掉最后条/及其右边的字串:/dir1/dir2/dir3
${file%%/*}:拿掉第一条/及其右边的字串:(空值)
${file%.*}:拿掉最后一个.及其右边的字串:/dir1/dir2/dir3/my.file
${file%%.*}:拿掉第一个.及其右边的字串:/dir1/dir2/dir3/my
提示:
“.” 代表当前目录
“..” 代表上一级目录
“/+路径名”代表下一级目录
文件路径操作
shell 文件操作大全 --简书