好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 在Bash腳本中引入alias的方法

在Bash腳本中引入alias的方法

熱門標簽:電商外呼系統排名 AI智能電銷機器人壞處 電話機器人對家居行業幫助大嗎 黑暗之魂3地圖標注 地圖標注審核周期 蘭州電銷機器人加盟 合肥電銷外呼系統供應商 如何申請400的電話呀 沈陽ai電銷智能機器人

alias的使用

在日常開發中,為了提高運維效率,我們會用alias(命令別名)來定義命令的簡稱。比如在~/.bash_profile中添加:

alias ll='ls -lrt --color'
alias bdebug="go build -gcflags '-N -l'"
alias py3='/usr/bin/python3'

執行source ~/.bash_profile之后,這些alias定義便載入到當前終端環境中,我們可以通過alias cmd>進行查看

$ alias ll 
ll='ls -lrt --color'

$ alias bdebug
bdebug='go build -gcflags '\''-N -l''

在命令行執行alias也能看到預期效果

$ ll 
total 44
-rw-rw-r-- 1 liyang liyang  62 Sep 16 09:38 test.c
-rw-rw-r-- 1 liyang liyang  68 Sep 16 09:38 foo.h
-rw-rw-r-- 1 liyang liyang  74 Sep 16 09:38 foo.c
-rwxrwxr-x 1 liyang liyang 8592 Sep 16 09:44 libfoo.so
-rw-rw-r-- 1 liyang liyang 4347 Sep 16 09:44 o23.s
-rwxrwxr-x 1 liyang liyang 9451 Sep 16 09:45 test

在Bash腳本中引入alias的問題

但是有些時候,我們希望將~/.bash_profile中定義好的alias引入Bash腳本中,以便簡化命令。例如

腳本文件test.sh

#!/bin/bash
source ~/.bash_profile
ll

執行test.sh文件卻會報錯

$ bash test.sh 
test.sh: line 5: ll: command not found

這是因為在Bash中,alias默認是不能引入Bash腳本中的。Bash的官方文檔其實更建議你使用function而非alias。那么問題來了,既然我辛辛苦苦寫了這么多alias,總不能全部改成function吧,那得多費勁?

幸好,解決方法還是有的.

解決方法

只需要在test.sh中加入一行shopt -s expand_aliases

新的腳本文件

#!/bin/bash

shopt -s expand_aliases
source ~/.bash_profile
ll

執行一下,果然成功了,這是為什么呢?

$ bash test.sh 
total 48
-rw-rw-r-- 1 liyang liyang  62 Sep 16 09:38 test.c
-rw-rw-r-- 1 liyang liyang  68 Sep 16 09:38 foo.h
-rw-rw-r-- 1 liyang liyang  74 Sep 16 09:38 foo.c
-rwxrwxr-x 1 liyang liyang 8592 Sep 16 09:44 libfoo.so
-rw-rw-r-- 1 liyang liyang 4347 Sep 16 09:44 o23.s
-rwxrwxr-x 1 liyang liyang 9451 Sep 16 09:45 test
-rw-rw-r-- 1 liyang liyang  64 Mar 8 21:33 test.sh

關鍵在于shopt -s expand_aliases這句話,shopt是一個命令,使用它可以控制一些shell相關的開關:expand_aliases就是其中一個,當它被開啟之后,Bash腳本中的所有命令別名alias都會被展開。

expand_aliases
If set, aliases are expanded as described below under Aliases, Aliases. This option is enabled by default for interactive shells.

總結

  • alias命令可幫助我們自定義命令別名,簡化運維操作
  • 缺省情況下無法將終端環境中的alias引入到Bash腳本中
  • 通過shopt -s expand_aliases,可以解決上述問題。

參考

https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html

到此這篇關于在Bash腳本中引入alias的方法的文章就介紹到這了,更多相關Bash腳本引入alias內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 詳解shell中source、sh、bash、./執行腳本的區別
  • linux bash腳本監控啟動停止weblogic服務的腳本寫法
  • Shell腳本bash: ./t.sh:/bin/bash^M:損壞的解釋器: 沒有那個文件或目錄
  • Bash腳本內置的調試方法技巧
  • 使用Python腳本在Linux下實現部分Bash Shell的教程

標簽:黔南 通遼 隴南 河池 淮南 常州 河北 黔南

巨人網絡通訊聲明:本文標題《在Bash腳本中引入alias的方法》,本文關鍵詞  在,Bash,腳本,中,引入,alias,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《在Bash腳本中引入alias的方法》相關的同類信息!
  • 本頁收集關于在Bash腳本中引入alias的方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 七个动作让男生变硬| 日本熟hdx| 深夜成人无码免费看网站软件| KoreanBJ精品视频一区| wwwxxx日本在线观看| 岳两片肥美的蚌肉| 欧美日韩一区二区三区久久| 午夜无码人妻韩剧片| 草莓视频罗志祥| 以女性视角写的高H爽文| 在厨房扯下岳的丁字裤| 古代荡女高h调教小说| 日本另类z0zxhd| 羞羞漫画_在线成人漫画_为看成 | 免费啪视频一区二区三区| 2022国产男人亚洲欧美天堂| 毛茸茸bbwbbw老太| 欧美色视频日本片免费| 91精品91久久久久77777| 欧美精品在欧美一区二区| 我要看免费一级毛片| 黄色软件视频大全| 精品人妻一区二区三区浪人在线 | 国产精品vs欧美精品| 狼人香蕉国产在线视频| 别墅别墅卖浽女第一节| ZZjiZZji亚洲日本少妇| 厨房愉情理伦片HD| 麻豆国产99在线中文| 电影网爱妾电影在线观看| 超碰国产精品久久人人在人人| 美国式禁忌K8经典1_4| 5060一级毛片| 免费男人添女人下面视频| 黄色小说视频网站| 成 人 黄 色 网站 小说APP| 亚洲欧洲vat - 百度| 秋霞理伦美费三级在线| 日韩黄色三级视频| 日本无码一级A片奶水人妻网站| 91在线码无精品秘?蘑菇|