如何將shell腳本變?yōu)榭蓤?zhí)行文件?
方法一:可以使用gzexe命令直接把shell腳本變成可執(zhí)行文件,命令后面是要處理的shell的文件名。
加密后使用file檢查文件類型為二進(jìn)制,執(zhí)行可以正常進(jìn)行。
其次,您可以使用shc命令將shell腳本轉(zhuǎn)換為可執(zhí)行文件。
1.安裝shc
2.加密腳本文件cflags-staticshc-r-f。
CFLAGS表示static靜態(tài)編譯,因?yàn)槟J(rèn)生成的是動(dòng)態(tài)庫(kù),可能無(wú)法在不同的系統(tǒng)中運(yùn)行。-r也用于生成的腳本二進(jìn)制可執(zhí)行程序在其他計(jì)算機(jī)上運(yùn)行,-f參數(shù)用于指示要編譯的腳本文件。
3.正常執(zhí)行加密的腳本文件。
4.常用shc參數(shù)描述
-e日期(指定到期日期)
-m消息(指定逾期提醒的信息)
-fscript_nam
在當(dāng)前目錄下的一個(gè)腳本sh,直接用./sh執(zhí)行時(shí)顯示權(quán)限不夠,而用/bin/bashsh時(shí)就可以了,為什么?
Chmodxsh在當(dāng)前目錄下執(zhí)行上述命令,sh有可執(zhí)行權(quán)限。/sh就可以了。
linuxshell腳本執(zhí)行的過(guò)程是怎樣的?
在Linux下有兩種執(zhí)行Shell腳本的方法:
1.用shell程序執(zhí)行腳本:根據(jù)shell腳本的類型,選擇shell程序,如sh、bash、tcsh等。(一般來(lái)說(shuō)第一線#!/bin/bash表示shell類型,比如#!/bin/bash表示bash,#!/bin/sh是sh);然后輸入命令(其中bash是shell的名稱和要執(zhí)行的代碼):
2、直接執(zhí)行腳本:但先添加可執(zhí)行權(quán)限(可能是root權(quán)限,視情況而定),execute:chmod再execut
如何運(yùn)行shell腳本?
要直接運(yùn)行shell腳本,需要注意兩件事。
1.將#添加到腳本的第一行!/bin/bash,以便bash可以執(zhí)行這個(gè)腳本。
x向腳本添加可執(zhí)行權(quán)限,如下所示。
所以可以直接運(yùn)行。
當(dāng)然,你可以直接調(diào)用bash來(lái)運(yùn)行它,bash。