溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

從shell腳本創(chuàng)建二進(jìn)制文件的方法

發(fā)布時(shí)間:2020-08-26 14:22:28 來(lái)源:億速云 閱讀:762 作者:小新 欄目:建站服務(wù)器

小編給大家分享一下從shell腳本創(chuàng)建二進(jìn)制文件的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

在使用Linux系統(tǒng)時(shí),我們都會(huì)使用許多命令。大多數(shù)命令以二進(jìn)制格式在/bin、/sbin、/usr/bin、/usr/sbin等目錄中可用。作為系統(tǒng)管理員,我們編寫了許多shell腳本來(lái)完成一些任務(wù)或使它們自動(dòng)化。

從shell腳本創(chuàng)建二進(jìn)制文件的方法

本文將介紹創(chuàng)建shell腳本的二進(jìn)制文件,因?yàn)闆](méi)有人可以看到腳本的源代碼,我們可以將它們用作命令。要從腳本創(chuàng)建二進(jìn)制文件,我們使用SHC編譯器。

請(qǐng)按照以下步驟執(zhí)行此操作。

步驟1:先決條件

首先,需要為SHC編譯器安裝所需的包。

對(duì)于Ubuntu,Debian和LinuxMint

$ sudo apt-get install libc6-dev

對(duì)于CentOS,RHEL和Fedora

$ sudo yum install glibc-devel

步驟2:下載并安裝SHC

從SHC編譯器的官方網(wǎng)頁(yè)或使用以下命令下載最新的源代碼,并在您的系統(tǒng)上提取。

$ cd / usr / src
$ wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9.tgz
$ sudo tar xzf shc-3.8.9.tgz

現(xiàn)在編譯系統(tǒng)上的SHC源代碼并使用以下命令安裝它。

$ cd shc-3.8.9
$ make
$ make install

步驟3:創(chuàng)建shell腳本

讓我們根據(jù)需求創(chuàng)建一個(gè)shell腳本,或者跳過(guò)這個(gè)步驟(如果已經(jīng)創(chuàng)建了)。對(duì)于本文,我們已經(jīng)創(chuàng)建了下面的示例腳本,它添加了命令行參數(shù)上給定的整數(shù)值,并顯示了它們的總和。

vim script.sh
#!/bin/bash

total=0

for i in $@; do
   if [ ! -z "${i##[0-9]*}" ]; then
	echo "Please enter numeric only"
	exit 1
   fi
   total=$(($total + $i))
done

if [ $total -eq 0 ]; then
    echo "Plesae execute script like: $0 10 20 30"
    exit 0
fi

echo $total

步驟4:創(chuàng)建腳本的二進(jìn)制文件

在這個(gè)階段,我們已經(jīng)安裝了SHC編譯器,并有一個(gè)名為script.sh的shell腳本。使用下面的命令創(chuàng)建腳本的二進(jìn)制文件。

$ shc -T -f script.sh

上面的命令將在當(dāng)前目錄中創(chuàng)建兩個(gè)文件。其中一個(gè)是script.sh.x.c,它是腳本中的C語(yǔ)言格式。第二個(gè)是script.sh.x,它將采用二進(jìn)制格式。

步驟5:測(cè)試二進(jìn)制腳本

如果試圖打開(kāi)二進(jìn)制格式的腳本,將看到它不是可讀的格式。

現(xiàn)在將該腳本移到/usr/bin目錄下,以便在系統(tǒng)中的任何位置使用。同時(shí)從文件名中刪除.sh.x。因此,它將以簡(jiǎn)單的名稱實(shí)現(xiàn)。同時(shí)為所有人設(shè)置執(zhí)行權(quán)限

$ mv script.sh.x / usr / bin / script
$ chmod + x / usr / bin / script

現(xiàn)在從系統(tǒng)中的任何位置輸入命令'script'。將看到與shell腳本相同的結(jié)果。

$ script 10 20 30 
60

以上是從shell腳本創(chuàng)建二進(jìn)制文件的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI