作家
登录

通过ssh会话执行bash别名

作者: 来源: 2018-01-22 11:20:08 阅读 我要评论

/cache available
  • Mem2.0G 428M 138M 145M 1.4G 1.1G
  • Swap0B 0B 0B
  • 懂得 bash shell 以及敕令的类型

    bash shell 共有下面几类敕令:

    1. 别号,比如 ll
    2. 关键字,比如 if
    3. 函数 (用户自定义函数,比如 genpasswd
    4. 内置敕令,比如 pwd
    5. 外部文件,比如 /bin/date

    type 敕令 和 command 敕令 可以用来查看敕令类型:

    datefree 都是外部敕令,而 file_replsudo -i /shared/takes/master.replication 的别号。你不克不及直接履行像 file_repl 如许的别号:

    1. $ ssh user@remote file_repl

    在 Unix 体系上无法直接经由过程 ssh 客户端履行 bash 别号

    要解决这个问题可以用下面办法运行 ssh 敕令:

    ssh 敕令选项:

    • -t:强迫分派伪终端。可以用来在长途机械上履行随便率性的 基于屏幕的法度榜样,有时这异常有效。当应用 -t 时你可能会收到一个类似 “bash: cannot set terminal process group (-1): Inappropriate ioctl for device. bash: no job control in this shell .” 的缺点。

    bash shell 的选项:

    • -i:运行交互 shell,如许 shell 才能运行 bash 别号。
    • -c:要履行的敕令取之于第一个非选项参数的敕令字符串。若在敕令字符串后面还有其他参数,这些参数会作为地位参数传递给敕令,参数大年夜 $0 开端。

    总之,要运行一个名叫 ll 的 bash 别号,可以运行下面敕令:

    1. $ ssh -t vivek@server1.cyberciti.biz -ic 'll'

    结不雅为:

    Running bash aliases over ssh based session when using Unix or Linux ssh cli

    1. Tue Dec 26 090250 UTC 2017

    Running bash aliases over ssh based session when using Unix or Linux ssh cli

    下面是我的一个 shell 脚本的例子:

    1. #!/bin/bash
    2. I="tags.deleted.410"
    3. O="/tmp/https.www.cyberciti.biz.410.url.conf"
    4. box="vivek@server1.cyberciti.biz"
    5. [!-f "$I" ] && { echo "$I file not found。"

        推荐阅读

        存储系统性能 - 带宽计算

      年前最后一场技巧盛宴 | 1月27日与京东、日记易技巧大年夜咖畅聊智能化运维成长趋势! 碰到过很多同业、客户问>>>详细阅读


      本文标题:通过ssh会话执行bash别名

      地址:http://www.17bianji.com/lsqh/40432.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)