linux shell实现检查当前目录(只针对当前目录)所有脚本文件

script-detector.sh

#!/bin/bash
#Description:check all Shells in given one directory.

#测试前两个字符
testchars=2
#默认脚本都是以"#!"开头的
shabang='#!'

#遍历当前目录(只针对当前目录)下的所有文件
for file in *
do
 if [[ $(head -c$testchars "$file") = "$shabang" ]];then
 #-c:从文件开头输出制定个数的字符,而不是默认的行数
   echo "File \"$file\" is a script."
 else
   echo "File \"$file\" is not a script."
 fi
done

exit 0

验证:

[root@logstash ~]# sh script-detector.sh 
File "1.txt" is not a script.
File "22.sh" is a script.
File "2.txt" is not a script.
File "access_20240624.log" is not a script.
File "account.sh" is a script.
File "add_description.sh" is a script.
File "add_firewalld_rule.sh" is a script.
File "anaconda-ks.cfg" is not a script.
File "auto_backup_system.sh" is a script.
File "awk.sh" is a script.
File "back_mysql.sh" is a script.
File "backup.sh" is a script.
File "call_names.sh" is a script.
File "check_rpm.sh" is a script.
File "chess.sh" is a script.
File "clear_record_file.sh" is a script.
File "close_machines.sh" is a script.
File "create_lv.sh" is a script.
File "crontab.sh" is a script.
File "date.sh" is a script.
File "delete_file.sh" is a script.
File "digital_file.sh" is a script.
File "disable_selinux.sh" is a script.
File "display_account.sh" is a script.
File "display_cpu.sh" is a script.
File "display_port.sh" is a script.
File "domains.txt" is not a script.
File "double-colored-ball.sh" is a script.
File "double-colored-ball.txt" is not a script.
File "download_pic.sh" is a script.
File "egrep.sh" is a script.
File "ens32_packet.sh" is a script.
File "expect_command.sh" is a script.
File "fdisk_disk.sh" is a script.
File "fibonacci_sequence.sh" is a script.
File "file_comparison.sh" is a script.
File "file_directory.sh" is a script.
File "file_limits.sh" is a script.
File "file.sh" is a script.
File "ftp.sh" is a script.
File "generate_certificate.sh" is a script.
File "generate_random_code.sh" is a script.
File "generate_string_pass.sh" is a script.
File "generate_urandom.sh" is a script.
File "generate_uuid.sh" is a script.
File "graph.sh" is a script.
File "guess_number.sh" is a script.
File "helloworld.sh" is a script.
File "hive.output" is a script.
File "hive-server2.log" is not a script.
File "hive.sh" is a script.
File "host.info" is not a script.
File "hostname-bak.txt" is not a script.
File "hostname.sh" is a script.
File "hostname.txt" is not a script.
File "inotifywait.sh" is a script.
File "Jan-Ken-Punch.sh" is a script.
File "jdk-11.0.10_linux-x64_bin.tar.gz" is not a script.
File "judge_data_type.sh" is a script.
File "judge_leap_year.sh" is a script.
File "judge_user_level.sh" is a script.
File "judge_user_passwd.sh" is a script.
File "judge_yes_no.sh" is a script.
File "lamp.sh" is a script.
File "logback.sh" is a script.
File "log_count.sh" is a script.
File "logstash-7.11.1-linux-x86_64.tar.gz" is not a script.
File "lowercase_uppercase.sh" is a script.
File "mac.sh" is a script.
File "md5_check.sh" is a script.
File "monitor_http.sh" is a script.
File "multiplication_table.sh" is a script.
File "mysql_count.sh" is a script.
File "mysql_ping.sh" is a script.
File "network_statics.sh" is a script.
File "nginx_ip.sh" is a script.
File "nginx_time_ip.sh" is a script.
File "nginx_time_statics_ip.sh" is a script.
File "number_length.sh" is a script.
File "optimize_kernel.sh" is a script.
File "parameter.sh" is a script.
File "process_bar.sh" is a script.
File "process.sh" is a script.
File "read.sh" is a script.
File "root_count.sh" is a script.
File "rsyncd.sh" is a script.
File "schedule-bak.sh" is a script.
File "script-detector.sh" is a script.
File "self-destruct.sh" is a script.
File "server_source_cpu.sh" is a script.
File "server_source_disk.sh" is a script.
File "server_source_memory.sh" is a script.
File "server_source_tcp_status.sh" is a script.
File "split_nginx_log.sh" is a script.
File "ssh_key.sh" is a script.
File "statistic.sh" is a script.
File "sum.sh" is a script.
head: error reading ‘test’: Is a directory
File "test" is not a script.
File "text.sh" is a script.
File "time.sh" is a script.
File "tmp.sh" is a script.
File "tomcat_pid.sh" is a script.
File "tomcat_restart.sh" is a script.
File "tomcat.sh" is a script.
File "t.sh" is a script.
File "user_account.sh" is a script.
File "user_add.sh" is a script.
File "useradd.sh" is a script.
File "user_del.sh" is a script.
File "user_get_passwd.sh" is a script.
File "user_list.txt" is not a script.
File "user.txt" is not a script.
File "website_check.sh" is a script.
File "zombie.sh" is a script.
head: error reading ‘ztj’: Is a directory
File "ztj" is not a script.
File "ztj.sh" is a script.
File "ztj.txt" is not a script.
[root@logstash ~]# 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小黑要上天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值