linux脚本中
执行“nano function.sh”命令,创建新的shell脚本文件,名字为“function.sh”。
编辑新创建的shell脚本文件“function.sh"。函数必须先定义后使用。
shell脚本的内容如下:
#!/bin/bash
add(){
sum_1=$1;
sum_2=$2;
sum=`expr $sum_1 + $sum_2`;
echo "the sum is ${sum}";
}
add $1 $2
4
给新创建的function.sh赋可执行权限,命令为“chmod 755 function.sh”。
5
使用“./function.sh 1 2”调用脚本,并给脚本传递两个数字。
6
执行命令的结果为“the sum is 3”。
B. 请教shell脚本中的&是什么意思
& 后台工作
单一个& 符号,且放在完整指令列的最后端,即表示将该指令列放入后台中工作。
tar cvfz data.tar.gz data > /dev/null &
C. linux 中怎样执行脚本
首先脚本需要有执行权限
chmo+xfile.sh
执行脚本有三种方法:
1../file.sh
特点:开启bash子进程来执行,也就是开启额外的进程来进行,不影响原进程的变量、配置等
2.bashfile.sh
特点:和./file.sh相同
3.sourcefile.sh或者.file.sh
特点:在原bash进程中执行脚本。
第三种方法主要用于在脚本中切换用户su、切换目录cd等命令。
source和.命令是相同的。
你可以搜索source
补充,如何查看脚本运行是否开启了bash子进程
vim file.sh
写入
#!/bin/bash
#echo $$命令会输出bash进程ID
echo $$
保存并赋予可执行权限chmod u+x file.sh
在你的shell中输入,echo $$ 屏幕输出4176
./file.sh 屏幕输出3600
bash file.sh 屏幕输出3984
source file.sh 屏幕输出4176 和 你直接在shell中输出的一样,说明是在同一个bash进程
D. linux脚本里的#! 是什么意思
家目录/用户目录。比如:我的用户名是user,那一般我的家目录就是/home/user/,里面是我的文件和设置。#就是指的这个目录,你可以试试,在终端或者终端模拟器里面输入cd #,就可以直接到达你的用户目录。
E. shell脚本里赋值运算符 =,:=,+=,=的区别
'='就是赋值运算
':='就是当冒号前面的变量不存在或值为空时,就把等号后的值赋值给变量
'+='这个应该不用解释吧,和C中一样,变量等于本身和另一个变量的和
'?='没见过,不知道LZ说的是不是'?',它的意思是在语句a?b中如果a未定义则用b替换a
F. shell脚本中经常看到这样的命令; :<< :> 很疑惑这是什么意思呢网上一直也没有搜到,求指教!
冒号在shell中表示空指令。
原文如下:
:
null command [colon]. This is the shell equivalent of a "NOP" (no op, a do-nothing operation). It
may be considered a synonym for the shell builtin true. The ":" command is itself a Bash builtin, and its exit status is true (0).
所以:
: > file 用于清空文件
下面这种形式是Here Document的一种用法,用于注释一段代码块
:<<BLOCK
...
segment
...
BLOCK
G. linux shell中 ~ 符号代表什么
Bash的符号,还是所有符合Posix标准的系统里命令解释器里来代替用户家目录的符号。
shell命令中
代表用户的家目录
使用cd~或者cd可以转到这个目录
在bash shell awk命令中,~代表匹配正则表达式,例:awk‘$0~/.*/{print}’test.txt
(7)linux脚本中扩展阅读:
实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。
H. shell 脚本里$什么意思
Linux shell 脚本中, $@ 和$# 分别是:
$@:表示所有脚本参数的内容
$#:表示返回所有脚本参数的个数。
示例:编写如下shell脚本,保存为test.sh
#!/bin/sh
echo "number:$#"
echo "argume:$@"
执行脚本:
./test.sh first_argsecond_arg
概念:
Shell就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统。它为用户提供了一个向Linux发送请求以便运行程序的接口系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。 Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。
以上内容参考:网络-Shell脚本
I. linux shell 中&>是什么意思
& 后台执行
> 输出到
不过联合使用也有其他意思,比如nohup输出重定向上的应用
例子:nohup abc.sh > nohup.log 2>&1 &
其中2>&1 指将STDERR重定向到前面标准输出定向到的同名文件中,即&1就是nohup.log
J. shell脚本里“$”什么意思
Linux shell 脚本中, $@ 和$# 分别是:
$@:表示所有脚本参数的内容
$#:表示返回所有脚本参数的个数。
示例:编写如下shell脚本,保存为test.sh
#!/bin/sh
echo "number:$#"
echo "argume:$@"
执行脚本:
./test.sh first_argsecond_arg
说明:给脚本提供了两个参数,所以$#输出的结果是2,$@代表了参数的内容!