Shell如何定義一個
如何定義一個 bc
函式以供以後使用?
我總是覺得
bc
有點神秘和有趣。它是最初的Unix 程序之一。它本身就是一種程式語言。所以我很樂意抓住任何我能找到的機會來使用它。由於 bc 似乎不包含階乘函式,我想定義一個像這樣:
define fact(x) { if (x>1) { return (x * fact(x-1)) } return (1) }
但是…我不能再重複使用它,可以嗎?
我希望能夠做類似的事情
me@home$ bc <<< "1/fact(937)"
將您的函式定義保存在一個類似的文件
factorial.bc
中,然後執行bc factorial.bc <<< '1/fact(937)'
如果您希望在執行時始終載入階乘函式
bc
,我建議bc
使用 shell 腳本或函式包裝二進製文件(腳本或函式是否最好取決於您要如何使用它)。腳本 (
bc
, 放入~/bin
)#!/bin/sh /usr/bin/bc ~/factorial.bc << EOF $* EOF
函式(放入 shell rc 文件)
bc () { command bc ~/factorial.bc << EOF $* EOF }
它應該從給定的任何文件中獲取輸入,然後從標準輸入中讀取。