shift命令使用方法 | 学习笔记

简介: 快速学习shift命令使用方法

开发者学堂课程【打开浏览器就能写代码!打造自己的Web IDEshift命令使用方法】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/453/detail/5600


shift命令使用方法


内容介绍

一、linux执行脚本报错

二、shift命令使用方法

 

一、linux执行脚本报错

windows中脚本导入到Linux系统后执行报错,因为WindowsLinux处理机制不一样,vim可以打开但不能运行,解决如下,安装包,例:

[root@xuegod63 test]# ./v2.sh

bash: ./v2.sh: /bin/bash^M: bad interpreter: No such file or directory

[root@xuegod63 test]# rpm -ivh /mnt/Packages/dos2unix- 3.1-37.el6.x86_ 64.rpm.

[root@xuegod63 test]# dos2unix v2.sh

dos2unix: converting file v2.sh to UNIX format ....

[root@xuegod63 test]# ./v2.sh

********

1 Copy

2 Delete

3 Backup

4 Quit

********

执行成功,输入1执行拷贝,将/etc/passwd文件拷贝到/tmp下,例:

1

You selection is Copy

Please input source dircetory or file.

/etc/ passwd

Please input destination dircetory

/tmp

The files have been susscessfully copied.

Press any key to continue

查看文件是否拷贝成功,例:

[ root@xuegod63 test]# ls/ tmp/ passwd

/ tmp/ passwd

拷贝成功,按任意键清屏,输入2进行删除操作,例:

2

You selection is delete

Delete the file or dircetory.

/ tmp/ passwd

Proceed with removal ? y

y

sussessfully delete!

Press any key to continue. . .

查看文件是否删除成功,例:

[ root@xuegod63 test]# ls / tmp/passwd

ls: cannot access /tmp/ passwd: No such file or directory

删除成功。

执行4退出,显示Exit…

 

二、shift命令使用方法

Shift:参数左移指令:

每执行一次,参数序列顺次左移一个位置, $#的值会减1 ,用于分别处理每个参数,移出去的参数,不再可用。

当执行完一次shift时,$1值会减1,另外移除的参数会把$1移除,$2就会变成$1,$3变成$2,$4变成$3,如图,

image.png

例子:

做一个加法计算器,求出所有参数的和

实现的思路:

: 12+12+1 +1

$#一共有4个参数,但有时候不清楚有几个参数,也不确定用户输入语句有多长,这时候可以把$#当成一个判断语句,只要$#> 0,就求值sum=sum+$1,进行累加,在循环里面写入shift,每执行一次加$1,直到$#<0为止。

[ root@xuegod63 test]#vim shift.sh

#!/bin/bash

if[$#-le 0]

then

echo “err! : Not enough pa rameters”

exit 124

fi

sum=0

while[$# -gt 0]

do

sum=expr $sum +$1’

shift

done

echo $sum

[ root@xuegod63 test]# ./shift.sh

此时执行会报错,可以复制报错的err!vim打开脚本查找err!报错,可知报错原因为没有参数,应该多几个参数,例:

[ root@xuegod63 test]# ./shift.sh 12 12 1

25

脚本代码分析为,如果程序报错,则打印err,执行exit并返回值124,否则sum做加$1,直到$#<0done,输出sum值。

相关文章
|
3月前
|
网络协议 安全 Java
爆肝整理Window CMD常用命令(值得收藏)
爆肝整理Window CMD常用命令(值得收藏)
|
4月前
|
搜索推荐 Shell
idea如何Ctrl + F查找内容,当前文件内容,Ctrl+R全局替换C t r l + S h i f t + R
idea如何Ctrl + F查找内容,当前文件内容,Ctrl+R全局替换C t r l + S h i f t + R
LINUX下用CTRL+R快速搜索HISTORY历史命令,快速索引到之前使用过的命令行语句
LINUX下用CTRL+R快速搜索HISTORY历史命令,快速索引到之前使用过的命令行语句
|
6月前
|
NoSQL Linux C语言
gdb基本使用快捷键
1. gdb简介 gdb是Linux下的代码调试工具。 程序的发布有debug模式和release模式,Linux的gcc/g++模式,默认是release模式。若想在Linux下调试,程序必须为debug模式。使用:
107 0
|
Unix Linux Shell
shift 命令使用方法 | 学习笔记
快速学习 shift 命令使用方法
shift 命令使用方法 | 学习笔记
|
Kubernetes Docker 容器
关于Esc服务器的一些用法
相信大多数人都是拿来用作部署个人作品的,关于我遇到的一些问题可以借鉴给你们
121 1
|
Ubuntu
tmux简介(附修改前缀键ctrl+a的方法)
tmux可以做到类似分屏的功能,而且在终端连接非正常断开时,tmux的进程不会被杀,从而保留了在tmux中正在编辑的代码等 tmux可以开多个session,一个session可以包含多个window,而一个window可以包含多个pane。简而言之,终端中“分屏”出来的一个个小窗口就是一个pane,整一个终端的大窗口就是一个window。
2947 0

相关课程

更多