Bash Shell练习与技巧:命令提示、变量运算与环境配置

需积分: 30 9 下载量 145 浏览量 更新于2024-09-12 收藏 29KB DOC 举报
"这是一份bash shell的练习题集,旨在帮助学习者加深对bash shell的理解和操作技能。题目的内容涵盖了bash环境变量的设置、命令行提示符的自定义、进程ID的获取、命令返回状态、用户输入处理、变量运算、环境变量的管理、历史命令的保存、stty命令的使用以及PATH变量的处理等基础到进阶的bash知识。" 1). 更改Shell 在bash中,可以通过设置PS1变量来改变命令提示符。例如,`PS1='[\u@\h\w\A#\#]\$'` 将创建一个包含用户名、主机名、当前工作目录、当前时间及历史命令计数的提示符。 2). 显示本SHELL的PID值 bash shell中的进程ID可以通过`$$`特殊变量获取,执行`echo $$`即可显示当前shell进程的PID。 3). 显示上个命令的回传码 命令的执行状态(成功或失败)由 `$?` 变量存储,执行`echo $?`可查看上一个命令的退出状态码。 4). 用户输入与变量 通过`read -p "提示信息" -t 秒数 变量名`可以设置等待用户输入的时间,例如`read -p "Please key in your name: " -t 30 named`。 5). 变量运算 bash支持基本的算术运算,如`declare -i sum=100+300+50`将计算结果赋值给变量sum。表达式`echo $[$a+$b]`用于输出两个变量的和。字符串拼接则可以通过`echo "Your cost is \$5.00"`实现。 6). 环境变量 使用`declare -x 变量名`将变量设置为环境变量,然后通过`export | grep 变量名`检查是否已设置成功。 7). 只读变量 要使变量变为只读,可以使用`declare -r 变量名`。尝试修改只读变量将会报错,如`sum=love`。 8). 写入历史命令 `history -w`命令会立即将当前的历史命令写入历史文件。 9). 查看stty参数并设置erase键 `stty -a`列出所有stty参数,`stty erase ^h`将erase设置为Ctrl+h,用于删除字符。 10). 恢复erase为默认的后退键 `stty erase ^?`将erase恢复为默认的Backspace键。 11). 提取PATH变量的特定路径 `echo $PATH | cut -d ':' -f5`可以提取PATH变量中的第五个路径。 12). 提取PATH变量的多列路径 `echo $PATH | cut -d ':' -f3,5`将提取第三列和第五列的路径。 13). 输出export命令信息的特定部分 `export | cut -c 12-`显示export命令信息,从第12个字符开始。 14). 使用awk排序/etc/passwd的第三栏 `cat /etc/passwd | awk -F: '{print $3}' | sort -n`可以显示以冒号分隔的/etc/passwd文件内容,并按第三栏的数字顺序排列。 这些bash shell练习题涵盖了bash shell的基础操作和高级用法,对于熟悉和提升bash shell技能非常有帮助。通过解答这些问题,学习者可以更好地掌握bash shell的日常使用和脚本编写技巧。