作者dyoll (lloyd huang)
看板Linux
标题Re: [问题] 请问一个bash script的问题
时间Tue Nov 29 17:42:50 2022
直觉上会使用 function 解决,如果一定要用 alias 处理的话,可以用 alias 包装 fun
ction 使用如下:
alias abc='F(){ test -n "$2" && echo "--message $1 --file $2" || echo "--messa
ge $1" ; } ; F'
chronos@localhost ~ $ abc 123
--message 123
chronos@localhost ~ $ abc 123 /tmp/filename
--message 123 --file /tmp/filename
※ 引述《chang0206 (Eric Chang)》之铭言:
: 我有一串指令想要用 alias 简化
: 指令的顺序会影响结果
: 指令如下
: command arg_1 --message "123" --file /tmp/123.txt arg_2
: 其中 arg_1 , arg_2 都是固定的
: 但是 /tmp/123.txt 这个档案非必要条件
: command arg_1 --message "123" arg_2
: 这样子也是可以的
: 如果我想要用 abc "123" "/tmp/123.txt" 这样的格式下指令的话
: 应该要怎麽做alias ?
: 有没有办法当使用者没有指定 /tmp/123.txt 的时候
: 指令就不要带 --file 进去?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.238.128.193 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1669714972.A.262.html
※ 编辑: dyoll (36.238.128.193 台湾), 11/29/2022 17:44:43
1F:推 rickieyang: 不建议用 and + or。如果 and 後面的指令回传值是 f 11/29 23:25
2F:→ rickieyang: alse,那会再呼叫一次 or 後面的指令。 11/29 23:25
3F:→ dyoll: 一楼说的没错。改用 if else 或 and + or 只做变数设定。 11/30 09:33
4F:推 chang0206: 感谢回覆 已经用function处理 谢谢各位指教 11/30 12:27
5F:推 rickieyang: 只做变数设定, 或是 and / or 单独使用,不要混用 11/30 13:57
6F:→ rickieyang: 话说变数设定也不排除有机率设定失败.还是不要混用吧 11/30 14:00