LINUX与SHELL编程 2

来源:互联网 发布:linux open 编辑:程序博客网 时间:2024/06/06 01:05
  • 交互式shell和非交互式shell的区别?
  • A: 

shell脚本中指定使用的shell
#!+指定的shell
#(sharp)! (bang)
#+! shebang


用户创建变量的约定:
全局变量可以被任何shell和从最初shell创建的其他程序访问。全局变量只使用大写字母。而其他变量则使用大小写混合命名。
bash shell中可以
VARIABLE=val ue

赋值操作等号前后没有空格!!!!!!否则就是相等的操作。

TC shell中赋值语句必须以set开头


cmd1 ; cmd2
等价与
cmd1
cmd2


echo 和 C 语言的 printf 都可以在屏幕上输出文本显示。

echo text  #不能输出;echo 'text' #变量替换在单引号中无效echo "text" #特殊字符要加转义符号 \

在默认情况下, echo 会将一个换行符追加到输出文本的尾部。可以使用选项 -n 来忽略结尾
的换行符。 echo 同样接受双引号字符串内的转义序列作为参数。如果需要使用转义序列,则采
echo –e " text" 这种形式。


可以打印彩色输出


#变量和环境变量
- Bash 里面的变量值都是字符串,只有环境变量的值是一些特别的。

- #!/bin/bash#文件名:variables.shfruit=applecount=5echo "We have $count ${fruit}(s)"输出如下:We have 5 apple(s)

PATH 通常定义在/etc/environment或/etc/profile或~/.bashrc
中。如果需要在 PATH 中添加一条新路径,可以使用:
export PATH="$PATH:/home/user/bin"
也可以使用

$ PATH="$PATH:/home/user/bin"$ export PATH

export就是用来设置环境变量的


使用单引号时,变量不会被扩展(expand),将依照原样显示。这意味着:
1
$ echo '$var'will print varvar, echo "$var” 会打印出该变量的值;
如果没有定义过,则什么都不打印。

$@:表示所有脚本参数的内容

$#:表示返回所有脚本参数的个数。