【发布时间】:2020-06-19 16:16:08
【问题描述】:
我正在添加一个变量,每次运行终端窗口时都希望导出该变量。问题是它指向的文件或目录不是此时创建的。但无论如何我都希望 bash 加载和导出变量,因为当我使用它时,文件/文件夹就会在那里。
变量
export ports=$(awk -F "/" 'BEGIN {ORS=","} /\/tcp/ {print $1}' nmap/initial.nmap | sed 's/,$//')
export portsf=$(awk -F "/" 'BEGIN {ORS=","} /\/tcp/ {print $1}' nmap/full.nmap | sed 's/,$//')
错误信息:
awk: cmd. line:1: fatal: cannot open file `nmap/initial.nmap' for reading (No such file or directory)
awk: cmd. line:1: fatal: cannot open file `nmap/full.nmap' for reading (No such file or directory)
有什么方法可以通过 bashrc 完成这项工作,还是我要创建一个别名来导出我想要每个终端会话的变量?
感谢您的宝贵时间。
【问题讨论】:
-
命令替换立即运行;在您真正想要
ports的值之前,它不会被推迟。您必须等到nmap/*.nmap存在才能定义变量。 -
哦,好的,谢谢!,在创建 nmap/*.nmap 后,我必须将导出设置为别名并以这种方式使用它们。编辑:别名 --> echo "export string so at least copy and paste" 谢谢!
-
我会推荐函数而不是别名。
-
如何在 bashrc 中做 name 函数?
-
如何在 bashrc 中做 name 函数?会是这样吗?功能端口() { 出口端口.... } 出口 -f 端口