我是尝试编写 bash 函数的新手,所以也许我做错了什么,但是当我执行时:
myfile=test.txt
cat $myfile 2>&1 | tee "cat_$(echo "$myfile" | tr . _)_$(date +%Y_%m_%d_%H%M%S).txt"
它保存一个以cat_test_txt_
但是当我将此功能保存在我的.bashrc
:
catfile () {
cat $1 2>&1 | tee "cat_$(echo "$1" | tr . _)_$(date +%Y_%m_%d_%H%M%S).txt";
}
然后执行:
catfile test.txt
它保存一个以cat_test.txt_
有谁知道为什么是“。” 没有被“_”取代?