shell程式設計中如何將編寫的指令碼把其指令碼名當做

2021-08-21 00:09:22 字數 3409 閱讀 6279

1樓:匿名使用者

首先確保你的shell指令碼正確,且有執行許可權。

然後sudo cp 目錄/你的指令碼檔名 /bin/你的指令碼檔名然後就可以了。

直接用你的指令碼檔名當作shell命令了。

看我的例子

sudo cp /home/blue/mvmv.sh /bin/mvmv.sh

mvmv

然後我的桌面上的stop檔案就變成了stop了。(因為我的shell指令碼如下)

#!/bin/bash

cd /home/blue/desktop/mv stop stop

說明這種方法成功。

2樓:匿名使用者

使用「.」+「指令碼名」。舉例:

在同級目錄下建立兩個示例指令碼

1.test.sh,內容如下

#!/bin/sh

echo "this is [$0].begin to run [fun.sh]"

. ./fun.sh

2.fun.sh,內容如下

#!bin/sh

echo "now [$0] is running [fun.sh]"

執行test.sh,顯示如下:

this is [test.sh].begin to run [fun.sh]

now [test.sh] is running [fun.sh]

3樓:匿名使用者

用alias不就可以了

$ alias 'tr_case=/path/to/tr_case.sh'

4樓:匿名使用者

將指令碼放入/usr/local/bin/目錄下

在linux中,如何編寫一個shell指令碼來實現如下功能?

5樓:

#!/usr/bin/expect

set timeout 10

spawn ssh [email protected] "*password*"

send "密碼\r"

expect ">"

send "ls;cd back/rate/;run.sh\r"

expect eof

6樓:

看看rsh -l 使用者名稱 11.17.1.2 /pcs/back/rate>run.sh

要先配置hosts等信任關係。

linux中編寫一個shell指令碼將指定目錄中的檔案的檔案全名改為大寫,但是命令執行完,shell

7樓:匿名使用者

bash shell

指令碼的方法有多種,現在作個小結。假設我們編寫好的shell指令碼的檔名為hello.sh,檔案位置在/data/shell目錄中並已有執行許可權。

方法一:切換到shell指令碼所在的目錄(此時,稱為工作目錄)執行shell指令碼:

複製**

**如下:

cd /data/shell

./hello.sh

./的意思是說在當前的工作目錄下執行hello.sh。

如果不加上./,bash可能會響應找到不到hello.sh的錯誤資訊。

因為目前的工作目錄(/data/shell)可能不在執行程式預設的搜尋路徑之列,也就是說,不在環境變數pash的內容之中。檢視path的內容可用

echo $pash 命令。現在的/data/shell就不在環境變數pash中的,所以必須加上./才可執行。

方法二:以絕對路徑的方式去執行bash shell指令碼:

複製**

**如下:

/data/shell/hello.sh

方法三:直接使用bash 或sh 來執行bash

shell指令碼:

複製**

**如下:

cd /data/shell

bash hello.sh

或複製**

**如下:

cd /data/shell

sh hello.sh

注意,若是以方法三的方式來執行,那麼,可以不必事先設定shell的執行許可權,甚至都不用寫shell檔案中的第一行(指定bash路徑)。因為方法三是將hello.sh作為引數傳給sh(bash)命令來執行的。

這時不是hello.sh自己來執行,而是被人家呼叫執行,所以不要執行許可權。那麼不用指定bash路徑自然也好理解了啊,呵呵……。

方法四:在當前的shell環境中執行bash shell指令碼:

複製**

**如下:

cd /data/shell

. hello.sh

或複製**

**如下:

cd /data/shell

source

hello.sh

前三種方法執行shell指令碼時都是在當前shell(稱為父shell)開啟一個子shell環境,此shell指令碼就在這個子shell環境中執行。shell指令碼執行完後子shell環境隨即關閉,然後又回到父shell中。而方法四則是在當前shell中執行的。

8樓:

將你的指令碼貼出來看看

linux如何編寫shell指令碼?

9樓:自然智慧樹

一般以#!/bin/sh開頭(不是必須要寫,但一定要單獨一行),指定執行這個指令碼的shell程式(也可以用#!/bin/zsh或其他),然後就是堆命令了。

linux的shell指令碼支援很多功能,加上linux高度模組化的命令,完全可以用shell指令碼寫出複雜的程式。

以上只是簡單介紹如何開始寫shell指令碼,如果要寫複雜的指令碼,還需要深入學習相關知識(如if——fi、case——esac等結構)。

當然,還需要給指令碼加上可執行許可權(chmod +x ./file.sh),否則可以用sh .

/file.sh方式執行指令碼(這裡的sh是執行指令碼所需shell,命令也可以是zsh ./file.

sh或其他)。

整個shell指令碼,其實就相當於你在終端輸入的一系列命令,如果想在shell裡做什麼,就先想想在終端可以做什麼吧,字元的的連線,就是直接用 "" 雙引號,輸出,變數定義無 $ 符號,但是使用時一定要加上 $ 符號。

"="  賦值符號,兩邊一定不能有空格,這和其他語言有區別,尤其是你還有自己**美觀風格時特別注意,否則會報語法錯誤!

for 中的陣列內容是以 " " 空格分隔,而非 "," 逗號分格。

條件判斷 [ true ] 中括號 後面需要有一個空格,但是兩個中括號之間不能有空格如 [[ true ]]。

while 條件判斷可以用 () 括號,也可以用 [[ ]] 中括號。

如果用windows寫shell,一定要注意換行符格式 \n 而非 \r\n , 需要藉助一些編輯器(如notepad++)更改換行符格式!

linu中編寫shell指令碼將指定目錄中的檔案的文

bash shell 指令碼的方法有多種,現在作個小結。假設我們編寫好的shell指令碼的檔名為hello.sh,檔案位置在 data shell目錄中並已有執行許可權。方法一 切換到shell指令碼所在的目錄 此時,稱為工作目錄 執行shell指令碼 複製 如下 cd data shell hel...

如何將中的公式進行排版,如何將word中的公式進行排版

很好做,你在公式前後都插入分節符,只對其它文件分欄。插入分節符 插入 分隔符 分節符 連續 確定。或者直接分別選定分欄文件分欄,不選公式,同樣能實現。在word中做表,這個表的格式是按照你 排列方式需要來設定。如,你需要一行裡放2張,4張 一共2行,那麼你可以做個2行2列的表,把表的寬高都設定好後在...

中如何將腳註合併,word中如何將腳註合併?

還是以腳註為例。一 更改腳註的數字格式 步驟如下 1.將插入點置於需要更改腳註格式的節 中,如果沒有分節,可將插入點置於文件中的任意位置。2.執行 插入 引用 腳註 開啟 腳註和尾註 對話方塊。3.單擊選中 腳註 單選項。4.在 編號格式 框中,選擇所需的格式型別。如果文件分為多個節,在 將更改應用...