在linux shell中连接别名
我想连接别名。例如,如果我有以下几点:在linux shell中连接别名,linux,shell,alias,Linux,Shell,Alias,我想连接别名。例如,如果我有以下几点: alias aliasone="cat" alias aliastwo="/etc/passwd" 我希望能够在shell中键入类似“aliasone+aliastwo”的内容,然后将执行以下命令: cat /etc/passwd 这能做到吗 谢谢 别名仅用于命令替换。如果您想简化参数,请使用shell变量 file=/etc/passwd cat "$file" 只需从第二行中删除“别名”。即: alias aliasone="cat" folde
alias aliasone="cat"
alias aliastwo="/etc/passwd"
我希望能够在shell中键入类似“aliasone+aliastwo”的内容,然后将执行以下命令:
cat /etc/passwd
这能做到吗
谢谢 别名仅用于命令替换。如果您想简化参数,请使用shell变量
file=/etc/passwd
cat "$file"
只需从第二行中删除“别名”。即:
alias aliasone="cat"
folder="/etc/passwd"
然后你可以写:
aliasone $folder
问题是alias评估命令;但是在第二个别名中没有命令。在使用参数的情况下,最好使用变量。如果您有更特殊的情况(例如,您在脚本中),请告诉我们,以便我们提供更好的解决方案。步骤1:
alias ccat='cat $1'
ccat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin.............
第二步:
alias ccat='cat $1'
ccat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin.............
输出>>
alias ccat='cat $1'
ccat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin.............
当你想做一些比较复杂的事情时,函数比别名好。如果你对这一领域(通过组合构建shell命令)感兴趣,我强烈建议你阅读BashFAQ#50: