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值。

相关文章
|
C++ Python
VS Code按住ctrl不能跳转到定义/函数(Python)
VS Code按住ctrl不能跳转到定义/函数(Python)
2874 0
VS Code按住ctrl不能跳转到定义/函数(Python)
idea如何查找用法,右击函数,点击用法
idea如何查找用法,右击函数,点击用法
idea如何查找用法,右击函数,点击用法
|
7月前
|
NoSQL Linux C语言
gdb基本使用快捷键
1. gdb简介 gdb是Linux下的代码调试工具。 程序的发布有debug模式和release模式,Linux的gcc/g++模式,默认是release模式。若想在Linux下调试,程序必须为debug模式。使用:
125 0
LabVIEW右键+shift用法
LabVIEW右键+shift用法
132 0
|
Unix Linux Shell
shift 命令使用方法 | 学习笔记
快速学习 shift 命令使用方法
shift 命令使用方法 | 学习笔记
|
Python
退出 python命令行,Pycharm不能使用Ctrl+C 和Ctrl+V复制粘贴的问题,python实现矩阵转化图像
退出 python命令行,Pycharm不能使用Ctrl+C 和Ctrl+V复制粘贴的问题,python实现矩阵转化图像
323 0
|
Kubernetes Docker 容器
关于Esc服务器的一些用法
相信大多数人都是拿来用作部署个人作品的,关于我遇到的一些问题可以借鉴给你们
123 1
|
Ubuntu
tmux简介(附修改前缀键ctrl+a的方法)
tmux可以做到类似分屏的功能,而且在终端连接非正常断开时,tmux的进程不会被杀,从而保留了在tmux中正在编辑的代码等 tmux可以开多个session,一个session可以包含多个window,而一个window可以包含多个pane。简而言之,终端中“分屏”出来的一个个小窗口就是一个pane,整一个终端的大窗口就是一个window。
3042 0
|
缓存 网络协议 数据安全/隐私保护
Windows常用命令,想要看什么命令直接在全文“CTRL+F”检索(转)
原文地址:https://www.cnblogs.com/kekec/p/3662125.html 打开"运行"对话框(Win+R),输入cmd,打开控制台命令窗口... 也可以通过cmd /c 命令 和 cmd /k 命令的方式来直接运行命令 注:/c表示执行完命令后关闭cmd窗口;/k表示执行完...
1603 0

相关课程

更多