Q:1 Shell脚本是什么、它是必需的吗"toc_2">Q:2 什么是默认登录shell,如何改变指定用户的登录shell
答:在Linux操作系统,“/bin/bash”是默认登录shell,是在创建用户时分配的。使用chsh命令可以改变默认的shell。示例如下所示:
# chsh <username> -s <new_default_shell> # chsh linuxtechi -s /bin/sh
Q:3 可以在shell脚本中使用哪些类型的变量"toc_4">Q:4 如何将标准输出和错误输出同时重定向到同一位置"brush: bash; gutter: true"> if [ Condition ] then command1 command2 ….. else if [ condition ] then command1 command2 …. else command1 command2 ….. fi fi
Q:6 shell脚本中“$"brush: bash; gutter: true"> root@localhost:~# ls /usr/bin/shar /usr/bin/shar root@localhost:~# echo $"brush: bash; gutter: true"> root@localhost:~# ls /usr/bin/share ls: cannot access /usr/bin/share: No such file or directory root@localhost:~# echo $"toc_7">Q:7 在shell脚本中如何比较两个数字 "brush: bash; gutter: true"> #!/bin/bash x=10 y=20 if [ $x -gt $y ] then echo “x is greater than y” else echo “y is greater than x” fi
Q:8 shell脚本中break命令的作用 "toc_9">Q:9 shell脚本中continue命令的作用 "toc_10">Q:10 告诉我shell脚本中Case语句的语法 "brush: bash; gutter: true"> case word in value1) command1 command2 ….. last_command !! value2) command1 command2 …… last_command ;; esac
Q:11 shell脚本中while循环语法 "brush: bash; gutter: true"> while [ test_condition ] do commands… done
Q:12 如何使脚本可执行 "brush: actionscript3; gutter: true"> # chmod a+x myscript.sh
Q:13 “#!/bin/bash”的作用 "toc_14">Q:14 shell脚本中for循环语法 "brush: bash; gutter: true"> for variables in list_of_items do command1 command2 …. last_command done
Q:15 如何调试shell脚本 "toc_16">Q:16 shell脚本如何比较字符串"toc_17">Q:17 Bourne shell(bash) 中有哪些特殊的变量 "0" cellpadding="4" width="659" border="1">
内建变量
解释
$0
命令行中的脚本名字
$1
第一个命令行参数
$2
第二个命令行参数
…..
…….
$9
第九个命令行参数
$#
命令行参数的数量
$*
所有命令行参数,以空格隔开
Q:18 How to test files in a shell script "toc_19">Q:18 在shell脚本中,如何测试文件 "0" cellpadding="4" border="1">
Test
用法
-d 文件名
如果文件存在并且是目录,返回true
-e 文件名
如果文件存在,返回true
-f 文件名
如果文件存在并且是普通文件,返回true
-r 文件名
如果文件存在并可读,返回true
-s 文件名
如果文件存在并且不为空,返回true
-w 文件名
如果文件存在并可写,返回true
-x 文件名
如果文件存在并可执行,返回true