linux查看函数调用情况命令,Linux命令:简单函数调用

脚本编程之函数: function: 功能

结构化编程,不能独立运行,需要调用时执行,可以被多次调用

1、定义一个函数:

function FUNCNAME {

command

}

FUNCNAME() {

command

}

2、自定义函数执行状态返回值:return #    (0-255)

3、接受参数的函数:

./a.sh m n

$1: m

$2: n

TWOINT 5 6

$1: 5

$2: 6

练习1:写一个脚本,自动显示相关信息

#!/bin/bash

# diskusage.sh

function SHOWMENU() {    #定义函数

cat << EOF

d|D) show disk usages

m|M) show memory usages

s|S) show swap usages

q|Q) quit

EOF

}

read -p "Your choice:" CHOICE

until [ $CHOICE == 'q' -o $CHOICE == 'Q' ];do

case$CHOICEin

d|D) df -h ;;

m|M) free -m |grep "^Mem" ;;

s|S) free -m |grep "^Swap" ;;

*) SHOWMENU

read -p "Your choice,again:" CHOICE ;;

esac

SHOWMENU

read -p "Your choice,again:" CHOICE

done

练习2:写一个脚本,自动新增用户且密码与用户相同

#!/bin/bash

# adduser.sh

#

ADDUSER() {

if ! id -u $1 &> /dev/null;then

useradd $1

echo $1 | passwd --stdin $1 &> /dev/null

return 0

else

return 1

fi

}

for I in {1..3};do

ADDUSER user$I

if [ $? -eq 0 ] ;then

echo "add user$I finished."

else

echo "user$I exists,add Failuer."

fi

done

练习3:写一个脚本,判定192.168.0.200-192.168.0.254之间的主机哪些在线。要求:

1、使用函数来实现一台主机的判定过程;

2、在主程序中来调用此函数判定指定范围内的所有主机的在线情况。

#!/bin/bash

# ping.sh

#

PING() {

if ping -c1 -W1 $1 &> /dev/null;then

return 0

else

return 1

fi

}

for I in {200..210};do

PING 10.109.131.$I

if [ $?-eq 0 ] ;then     #上一条语句执行状态结果0或1

echo "10.109.131.$1 is up."

else

echo "10.109.131.$1 is down."

fi

done

for I in {200..210};do

if PING10.109.131.$I ;then  #彩色部分输出return的结果0或1,加反引号是echo显示的信息

echo "10.109.131.$1 is up."

else

echo "10.109.131.$1 is down."

fi

done

练习4:写一个脚本:使用函数完成

1、函数能够接受一个参数,参数为用户名;判断一个用户是否存在,

如果存在,就返回此用户的shell和UID;并返回正常状态值0;

如果不存在,就说此用户不存在;并返回错误状态值1;

2、在主程序中调用函数;

扩展1:在主程序中,让用户自己输入用户名后,传递给函数来进行判断;

扩展2:在主程序中,输入用户名判断后不退出脚本,而是提示用户继续输入下一个用户名;如果用户输入的用户不存在,请用户重新输入;但如果用户输入的是q或Q就退出;

#!/bin/bash

# bash.sh

#

USER(){

if id $1 &> /dev/null ;then

echo "` grep ^$1 /etc/passwd |cut -d: -f3,7`"

return 0

else

return 1

fi

}

read -p "keyin your username:" USERNAME

until [ $USERNAME == 'Q' -o $USERNAME == 'q' ];do

if USER $USERNAME ;then         #if语句执行USER的return值0或1

read -p "keyin your username:" USERNAME

else

read -p "$USERNAME exists,Please keyin your username again:" USERNAME

fi

done

[root@JackTest etc]# ./bash.sh

keyin your username:root

0:/bin/bash

keyin your username:ww

ww exists,Please keyin your username again:tt

tt exists,Please keyin your username again:root

0:/bin/bash

keyin your username:q

[root@JackTest etc]#

---end---

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用函数调用Linux命令,可以使用Java中的ProcessUtil工具类。该工具类支持单个命令和批量令的执行函数,并提供了通过Linux令获取文件行数的示例函数getFileLineNumByCmd。 另外,如果你是使用PHP语言,可以使用exec函数来执行Linux系统上的程序。例如,可以使用以下代码来执行命令"/usr/local/yourcmd/sbin/yourcmd": ``` <?php $command = "sudo /usr/local/yourcmd/sbin/yourcmd"; exec($command, $output); // 处理输出结果 ?> ``` 这样就可以通过函数调用来执行Linux命令了。请注意,使用exec函数时需要注意安全性,确保只执行可信任的命令。 请根据您使用的编程语言选择相应的方法来实现函数调用Linux命令。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [java调用linux命令、脚本工具类.zip](https://download.csdn.net/download/Lsp_Sean/12760863)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [PHP调用Linux命令权限不足问题解决方法](https://download.csdn.net/download/weixin_38622777/13727698)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [MATLAB读取图像,并转换为灰度矩阵,使用MATLAB的edge函数检测边缘并显示结果(附详细操作步骤).txt](https://download.csdn.net/download/weixin_44609920/88237914)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值