1. 程式人生 > >shell從函式檔案中呼叫函式

shell從函式檔案中呼叫函式

碰到一個shell中函式呼叫的小問題,記錄一下。

shell中函式有三種呼叫方式,一種是在檔案前面定義函式,然後在下面直接呼叫;一種是通過載入shell,在shell中直接呼叫;第三種是將函式寫入檔案,然後在其他shell中呼叫函式。

這裡寫一下關於第三種方法的例子:

is_it_a_directory()
{
if [ $# -lt 1 ];then
  echo "is_it_a_directory:I need an argument"
  return 1
fi

_DIRECTORY_NAME=$1
if [ ! -d $_DIRECTORY_NAME ];then
  return 1
else
  return 0
fi
}

error_msg()
{
echo -e "\007"
echo 
[email protected]
echo -e "\007" return 0 }

這個檔案定義了兩個函式,我們在下面的shell中呼叫者兩個函式,這裡有一點需要注意,在呼叫之前,要載入函式檔案,載入的方式為 . /路徑,注意有個空格

#!/bin/sh
. functions.sh
echo -n "enter destination directory :"
read DIREC
if is_it_a_directory $DIREC
then :
else
  error_mag "$DIREC does not exist...creating it now"
  mkdir #DIREC > /dev/null 2>&1
  if [ $? != 0 ];
  then
    error_msg "could not "
    exit 1
  else :
  fi
fi

echo "extracting files..."

相關推薦

shell函式檔案呼叫函式

碰到一個shell中函式呼叫的小問題,記錄一下。 shell中函式有三種呼叫方式,一種是在檔案前面定義函式,然後在下面直接呼叫;一種是通過載入shell,在shell中直接呼叫;第三種是將函式寫入檔案,然後在其他shell中呼叫函式。 這裡寫一下關於第三種方法的例子: is

如何使用shell一個檔案取出不在另一個檔案的內容

本文展示如何利用shell從一個檔案中,(按行)找出不在另一個檔案中的內容。 #!/bin/bash #@filename checkAddWord.sh #allword.txt         存

不同shell檔案函式呼叫

first.sh檔案中新建函式funcFirst #!/bin/bash echo $0 #上一行的感嘆號要使用英文字元 funcFirst(){ echo "I am funcFirst()"

Js檔案呼叫其它Js函式的方法

轉載:在一個js中引用另一個js的方法 方法/步驟 一個js呼叫另外一個js的方法,最簡單的例子就是jquery的呼叫。首先準備好兩個js檔案。 然後寫一個html檔案,通過<script type='text/javascript' src=''></

vue在全域性函式加回調,呼叫vue檔案函式

全域性函式可以寫一個檔案globalFunc.js exports.install = function(Vue, option){ Vue.prototype.setData = function(that, key){ that[key] = '222' } Vue.protot

python 如何在某.py檔案呼叫其他.py內的函式

A.py的檔案需要呼叫B.py檔案內的test函式   同一目錄下: A.py #!/usr/bin/env python # -*- coding: utf-8 -*- def test(): ''' 測試函式 ''' print('測試函式')

.mm檔案呼叫.m檔案函式的注意事項

 假設你有個函式 int FunA(int a),在一個.m檔案中實現,或者在一個庫檔案中。這裡的函式是單獨的函式,而不是interface的method.  那麼當你從一個.mm檔案中呼叫這個函式的時候,需要注意的一點是:  在一定要將 extern "C" 加在該函式

js檔案呼叫另一個js檔案函式

假設條件是:JS(A)要呼叫JS(B)的函式.那麼要滿足以下條件:1.要保證你所呼叫的JS必須在同一個頁面裡. 也就是JS(A)和JS(B)都要在頁面X裡.2.要保證你所呼叫的JS先於呼叫者本身被解釋.也就是JS(B)要先於JS(A)被解釋.反映在頁面上,就是JS(B)要寫

PHP呼叫的PHP檔案函式呼叫檔案裡不能重複定義的問題

在a.php中 有 function  abc() { } 在b.php中 require_once  a.php 那麼在b.php中不能再定義一個相同的函式abc了,因為require,include(包括_once的)都會把被引用的檔案裡的變數和方法帶

python檔案的__name__=='__main__'的使用及呼叫其他py檔案函式方法

最近學習python的時候經常會看到好多py檔案中都有if _name_ == ‘_main_‘: 這句話,所以就花點兒時間來研究一下,總結了一下使用方法及原則。 平時我們使用python IDE編寫py程式的時候 一般是很少用到if name == ‘mai

如何在jupyter呼叫同一資料夾下另一個ipynb檔案函式

1、 新建一個.py檔案 Ipynb_importer.py 參考: import io, os,sys,types from IPython import get_ipython from nbformat import read from IPyth

在同一個解決方案下,如何一個工程呼叫另外一個工程的函式

  兩個專案分別是test1和test2,test1中有一個函式fun()被test2呼叫,用法如下: //test1.h int fun(int a, int b); //test1.cpp #include <iostream> #include "

django views.py open("./xx") no such file found解決django views 檔案open函式找不到檔案的問題

現象: 在views.py 中 用open 函式,open("./xxx")這種形式,採用相對路徑,開啟一個檔案,提示找不到檔案。 但是直接執行該py檔案就沒有問題 解決辦法: 用絕對路徑 pwd=os.path.dirname(__file__) open(pwd+"/xx

mybatis的XML對映檔案函式-mybatis(1)

前言 由mybatis的逆向程式碼生成器生成的6個基本函式在日常開發中是有些力不從心的,我們可以寫寫自定義函式,去完成一些複雜的操作。 正文 繼續以之前建立的springboot專案為基礎,來學習mybatis的xml對映檔案的寫法,主要寫一下我用到比較多的一些

Oracle呼叫函式的5種方法

--表主體: SQL> SELECT * FROM emp_pl; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- ---------- --------- -

第6章建立函式-----------(在.bashrc檔案定義函式、在命令列建立函式、在命令列使用函式)

6.6在命令列中使用函式          指令碼函式可以用於建立比較複雜的操作。指令碼函式不僅可以用作shell指令碼命令,也可以用作命令列介面的命令。一旦在shell中定義了函式,可以從系統的任意目錄使用這個函式。不必擔心PATH環境變數是否包含函式檔案所在目錄。關鍵是

檔案getline函式的宣告已經存在

  /usr/include/stdio.h:651: note: previous declaration of ‘getline’ was here #include<stdio.h> #define MAXLINE 1000  /*maxinum inpu

討論java呼叫函式,形參的傳遞是值傳遞還是引用傳遞的問題

首先說結論: 當引數是引用資料型別時,傳入形參的是實參的引用;(證一) 當引數是基本資料型別時,傳入形參的是實參值;(證二) 證明如下: (證一) public class PassByReferenceOrValueTest { public static void main(String

在命令列執行python檔案函式

以前在命令列中執行python都是執行整個.py檔案,今天需要只執行其中一個函式。看到網上的方法說要先import檔案才能呼叫函式,試過仍不成功。後來找到原因,是要在.py檔案所在的目錄下執行python才能improt。 就像要執行21knn檔案,就要先到它的目錄

duilib CWebBrowser控制元件 C++呼叫js函式&&js呼叫C++函式

C++和js相互呼叫是個有意思的事情。 一、js中呼叫C++函式。函式原型 int g_FunSub(int x,int y); 呼叫方式如下: <html> <head&g