我需要在 bash 脚本中使用简洁易读的函数,该函数将作为输入:
- 绝对路径(例如 /home/user/tmp/data/sample1.txt )
- 新文件名(例如 extended_sample.dat )
并返回
带有新文件名的绝对路径(例如 /home/user/tmp/data/extended_sample.dat )
先感谢您!
我需要在 bash 脚本中使用简洁易读的函数,该函数将作为输入:
并返回
带有新文件名的绝对路径(例如 /home/user/tmp/data/extended_sample.dat )
先感谢您!
有 2+1(bonus) 命令可以让处理路径名变得轻松:
dirname - 从文件名中删除最后一个组件
readlink - 打印解析的符号链接或规范文件名
所以回答你的问题:
或者更改原始文件的路径名:
提取正在运行的脚本的完整位置(如果脚本在其自己的文件中执行,则有效):
使用这 3 个命令,您可以轻松完成大部分路径操作。
注意,bash
return
函数中的语句用于返回一个数值作为状态码。在最简单的情况下看起来如何:
以上将输出:
只是玩
bash
namerefs:输出:
该
path_replace_file
函数将变量名作为其第一个参数。在函数pathvar
中充当该变量的别名(名称引用)。该函数将值的文件名部分替换为
$pathval
作为函数的第二个参数给出的任何内容。这需要
bash
4.3 或更高版本。更改
local -n
为typeset -n
也将使它起作用ksh93
。