getopt

    0熱度

    1回答

    我需要在bash腳本中獲得4個選項(每個選項都有一個簡短版本)。 這裏是我做過什麼: OPTS=`getopt -l :author,icon,channel,message: -o :aicm: -- "[email protected]"` || exit 1 eval set -- "$OPTS" while true; do case "$1" in -a|--a

    1熱度

    1回答

    我有一個bash腳本myscript.sh。 我的意思是從其中調用另一個腳本,命令或內置函數,例如diff。 我的意思是將選項傳遞給myscript.sh,其中一些在調用時會傳遞給diff。 我實現了這是通過getopt設置選項字符串optstring,然後使用 eval "diff ${optstring} ${file} ${TRG_DIR}/${filebase2}" 到目前爲止,它的工

    0熱度

    1回答

    我正在嘗試創建一個bash腳本,它允許用戶同時使用菜單樣式和命令行切換樣式界面。我想知道是否有辦法將參數傳遞給select中的菜單選項,就好像它只是一個腳本的參數。例如,在我的腳本中,我可以通過說junk -d file.txt指定一個文件移動到我的垃圾文件夾。但是如果用戶沒有指定任何參數,它應該使用select選項。即1) move file 2) clear junk folder 3) wa

    0熱度

    1回答

    Folks, 我在這裏使用了get_opt_long的示例:https://linux.die.net/man/3/getopt_long_only 我仍然對如何在我的情況下使用感到困惑。在我的情況下,我有多個選項。 -Aa => ask for all -As => ask for stats -Af => ask for file -seed => pass seed -num =>

    1熱度

    1回答

    我有一個預期解析以下Perl腳本: PROG -t XYZ -p 「AB」 -cm xyz.cmd -CO xyz.config 但我希望它錯誤時,我進入 PROG -t XYZ -PAB -cm xyz.cmd -CO xyz.config (因爲-p其次是A和b不帶引號)。我使用Getopt :: Long來處理cmd行參數。我如何捕捉上述情況並發現錯誤? 謝謝!

    0熱度

    1回答

    如果輸入了無效的選項/命令,但它甚至不會輸入while循環,我想要程序命中默認情況。我想知道我做錯了什麼,爲了讓它工作,我需要改變它,它只有在使用正確的情況下才有效。 :) #include <stdio.h> #include <stdlib.h> #include <getopt.h> #include <string.h> int main (int argc, char *argv

    2熱度

    2回答

    如果optarg(來自Getop庫的標誌-s之後的參數)不是數字,我希望打印出錯誤消息並終止程序,如果它是一個數字,大小需要設置爲optarg。我遇到的問題是,像-s r這樣的命令會輸出錯誤信息,-s 2也會,這意味着它將2解釋爲字符串。 調試與-s 2 #1 printf("%d",atoi(optarg)); #2 printf("%d",isdigit(atoi(optarg)));

    0熱度

    2回答

    使用Getopt::Long,我想從GetOptions捕獲任何失敗,而不是將它們打印到STDOUT/STDERR,我想打印出一個用法字符串並退出腳本。我嘗試在Try::Tinytry/catch區塊中打電話給GetOptions,但它沒有被捕獲。我不確定這裏幕後發生了什麼事。 如何捕獲GetOptions中的故障,防止打印,並打印我自己的使用說明?

    1熱度

    2回答

    static struct option long_options[] = { {"r", required_argument, 0, 'r'}, {"help", no_argument, 0, 'h'}, {0, 0, 0, 0} }; int option_index = 0; char c; while((c = getopt_long(ar

    0熱度

    1回答

    你可以使用getopt來解析c中的參數,包含標誌的字符串(如果它們是強制的或不是,如果它們帶有參數)... 是否有可能有一個參數不需要任何標誌,像這樣? ./program -a arg1 arg2 這裏ARG2不需要任何標誌,但它仍然會被解析。 getopt可以這麼做嗎?