日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

linux 脚本 alias,在shell脚本中使用alias别名

發布時間:2023/11/27 生活经验 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 脚本 alias,在shell脚本中使用alias别名 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文最后更新于2015年7月12日,已超過 1 年沒有更新,如果文章內容失效,還請反饋給我,謝謝!

緣由:

經常用Linux進行操作的同學一般都會有各種各樣的技巧來提升工作效率,而添加/改寫shell中的alias無疑是比較常見的一種:通過設置自己慣用的alias可以快速的在Linux命令行中進行操作,減少鍵盤敲擊、提升操作效率。不過,大部分人僅限于在命令行上使用alias,很少有人會在自己寫的shell腳本中也使用alias,一方面是因為alias無法通用:不同的人有不同的習慣,并且在實際的生產環境中情況千差萬別,alias無法保證腳本的通用性和有效性;另一方面就是——有些人真的不知道怎么在shell腳本中使用alias。而這篇文章主要就是針對不知道怎么在shell腳本中使用alias功能的人所寫的。

搜索關鍵字:

bash shell alias

bash expand_aliases

參考解答:

#在使用alias之前添加下面的內容

shopt -s expand_aliases

查看Bash的manual你能找到下面的內容:

Aliases are not expanded when the shell is not interactive, unless the expand_aliases shell option is set using shopt (see the description of shopt under SHELL BUILTIN COMMANDS below).

翻譯如下:

在非交互式shell中無法使用alias,除非用shopt命令顯示設定expand_aliases選項。

expand_aliases

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

因此,將“shopt -s expand_aliases”添加到你的腳本中去,然后記得source(重新加載)你的別名文件/相應腳本:

shopt -s expand_aliases

source ~/.bash_aliases

我在前面的一篇文章(Linux中.bashrc和.bash_profile區別)中提到過:~/.bashrc 這個文件一般是由交互式非登錄shell調用的,而大部分人一般都是將alias設置在~/.bashrc中的,所以默認情況下是無法在shell腳本中使用alias的;如果你真的需要在以后的shell編程中默認開啟alias功能(不建議這樣做),可以通過設置BASH_ENV這個環境變量來指定非交互式shell需要調用的文件來實現該目的,雖然我并不建議這樣做:

#1.給 ~/.bashrc 添加一行內容用于設置BASH_ENV環境變量

BASH_ENV='~/.non_interactive_shell'

#2.設置 ~/.non_interactive_shell 文件內容如下

shopt -s expand_aliases

參考鏈接:

=EOF=

總結

以上是生活随笔為你收集整理的linux 脚本 alias,在shell脚本中使用alias别名的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。