脚本的执行
-
将脚本名作为命令行参数:
壳庆典 file.sh
-
授予脚本执行权限,将其变为可执行文件:
chmod 755 file.sh
./file.sh
回声
echo -e "1 \t2 \t3" #包含转义序列的字符串 echo -e "\e[1;31m This is red text \e[0m" #输出有色字符串 echo -e "\e[1;42m Green Background \e[0m" #输出带背景颜色的字符串 man console_codes #查看文档
其中\e[1;31m是一个转义字符串,可以将颜色设为红色,\e[0m将颜色重新置回。只需要将31替换成想要的色彩码
文本颜色的色彩码。其中包括:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37
彩色背景的颜色码:重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47
登录shell
- 登录图形化环境(比如GNOME、KDE等)后所创建的终端会话并不是登录shell。所以大部分情况下不会读取 .profile 或 .bash_profile
- ssh登录远程系统时则会读取 .profile
环境变量
- env 或 printenv
- 查看进程环境变量
cat /proc/$PID/environ #查看进程环境变量
- 获取进程 ID
pgrep gedit #获取gedit的进程ID
- export命令声明将由子进程所继承的一个或多个变量。
- 可以利用PS1环境变量来定义主提示字符串
- 首先查找/usr/bin,然后查找/bin
- 环境变量通常保存了可用于搜索可执行文件、库文件等的路径列表
数学运算
- Bash shell使用let、(( ))和[]执行基本的算术操作。
- 工具expr和bc可以用来执行高级操作。
文件描述符
- 0、1和2分别是stdin、stdout和stderr预留的描述符编号。
- 如果想使用特定的文件描述符,你必须将描述符编号置于操作符之前。
- 当一个命令发生错误并退回时,它会返回一个非0的退出状态;
- 而当命令成功完成后,它会返回为0的退出状态。
- 退出状态可以从特殊变量$?中获得(在命令结束之后立刻运行echo $?,就可以打印出退出状态)
- ./dev/null是一个特殊的设备文件,它会丢弃接收到的任何数据
- exec命令创建全新的文件描述符。
数组
- Bash支持普通数组和关联数组,前者使用整数作为数组索引,后者使用字符串作为数组索引。
交换Esc和大写键(可能失效)
在.zshrc添加
/usr/bin/setxkbmap -option "caps:swapescape"
在/etc/default/keyboard添加
XKBOPTIONS="caps:swapescape" #或者caps:swapcaps
sudo dpkg-reconfigure keyboard-configuration #然后终端执行